.file "autoload.c" /APP .section .autoload_text,"wx" .global _InternetAttemptConnect@4 _InternetAttemptConnect@4: call autoload_common .long wininet_info .ascii "InternetAttemptConnect\0" .section .autoload_text,"wx" .global _InternetCloseHandle@4 _InternetCloseHandle@4: call autoload_common .long wininet_info .ascii "InternetCloseHandle\0" .section .autoload_text,"wx" .global _InternetGetLastResponseInfoA@12 _InternetGetLastResponseInfoA@12: call autoload_common .long wininet_info .ascii "InternetGetLastResponseInfoA\0" .section .autoload_text,"wx" .global _InternetOpenA@20 _InternetOpenA@20: call autoload_common .long wininet_info .ascii "InternetOpenA\0" .section .autoload_text,"wx" .global _InternetOpenUrlA@24 _InternetOpenUrlA@24: call autoload_common .long wininet_info .ascii "InternetOpenUrlA\0" .section .autoload_text,"wx" .global _InternetReadFile@16 _InternetReadFile@16: call autoload_common .long wininet_info .ascii "InternetReadFile\0" .section .autoload_text,"wx" .global _InternetSetOptionA@16 _InternetSetOptionA@16: call autoload_common .long wininet_info .ascii "InternetSetOptionA\0" .section .autoload_text,"wx" .global _InternetQueryOptionA@16 _InternetQueryOptionA@16: call autoload_common .long wininet_info .ascii "InternetQueryOptionA\0" .section .autoload_text,"wx" .global _HttpQueryInfoA@20 _HttpQueryInfoA@20: call autoload_common .long wininet_info .ascii "HttpQueryInfoA\0" .section .autoload_text,"wx" .global _HttpSendRequestA@20 _HttpSendRequestA@20: call autoload_common .long wininet_info .ascii "HttpSendRequestA\0" .section .autoload_text,"wx" .global _AddAccessAllowedAce@16 _AddAccessAllowedAce@16: call autoload_common .long advapi32_info .ascii "AddAccessAllowedAce\0" .section .autoload_text,"wx" .global _AllocateAndInitializeSid@44 _AllocateAndInitializeSid@44: call autoload_common .long advapi32_info .ascii "AllocateAndInitializeSid\0" .section .autoload_text,"wx" .global _FreeSid@4 _FreeSid@4: call autoload_common .long advapi32_info .ascii "FreeSid\0" .section .autoload_text,"wx" .global _InitializeAcl@12 _InitializeAcl@12: call autoload_common .long advapi32_info .ascii "InitializeAcl\0" .section .autoload_text,"wx" .global _OpenProcessToken@12 _OpenProcessToken@12: call autoload_common .long advapi32_info .ascii "OpenProcessToken\0" .section .autoload_text,"wx" .global _SetTokenInformation@16 _SetTokenInformation@16: call autoload_common .long advapi32_info .ascii "SetTokenInformation\0" .section .autoload_text,"wx" .global _OpenSCManagerA@16 _OpenSCManagerA@16: call autoload_common .long advapi32_info .ascii "OpenSCManagerA\0" .section .autoload_text,"wx" .global _CloseServiceHandle@4 _CloseServiceHandle@4: call autoload_common .long advapi32_info .ascii "CloseServiceHandle\0" .section .autoload_text,"wx" .global _OpenServiceA@16 _OpenServiceA@16: call autoload_common .long advapi32_info .ascii "OpenServiceA\0" .section .autoload_text,"wx" .global _QueryServiceStatus@8 _QueryServiceStatus@8: call autoload_common .long advapi32_info .ascii "QueryServiceStatus\0" .section .autoload_text,"wx" .global _StartServiceA@16 _StartServiceA@16: call autoload_common .long advapi32_info .ascii "StartServiceA\0" .section .autoload_text,"wx" .global _NtCreateFile@44 _NtCreateFile@44: call autoload_common .long ntdll_info .ascii "NtCreateFile\0" .section .autoload_text,"wx" .global _NtOpenFile@24 _NtOpenFile@24: call autoload_common .long ntdll_info .ascii "NtOpenFile\0" .section .autoload_text,"wx" .global _NtClose@4 _NtClose@4: call autoload_common .long ntdll_info .ascii "NtClose\0" .section .autoload_text,"wx" .global _NtQueryAttributesFile@8 _NtQueryAttributesFile@8: call autoload_common .long ntdll_info .ascii "NtQueryAttributesFile\0" .section .autoload_text,"wx" .global _NtQueryInformationFile@20 _NtQueryInformationFile@20: call autoload_common .long ntdll_info .ascii "NtQueryInformationFile\0" .section .autoload_text,"wx" .global _NtSetInformationFile@20 _NtSetInformationFile@20: call autoload_common .long ntdll_info .ascii "NtSetInformationFile\0" .section .autoload_text,"wx" .global _RtlInitUnicodeString@8 _RtlInitUnicodeString@8: call autoload_common .long ntdll_info .ascii "RtlInitUnicodeString\0" .section .autoload_text,"wx" .global _RtlNtStatusToDosError@4 _RtlNtStatusToDosError@4: call autoload_common .long ntdll_info .ascii "RtlNtStatusToDosError\0" .text /NO_APP .text .p2align 4,,15 .def autoload_common; .scl 3; .type 32; .endef autoload_common: pushl %ebp movl %esp, %ebp pushl %ebx subl $20, %esp movl 4(%ebp), %ebx movl (%ebx), %edx movl 4(%edx), %eax testl %eax, %eax je L4 L2: leal 4(%ebx), %edx movl %edx, 4(%esp) movl %eax, (%esp) call _GetProcAddress@8 movb $-23, -5(%ebx) subl %ebx, %eax subl $8, %esp movl %eax, %edx sarl $8, %edx movb %dl, -3(%ebx) movl %eax, %edx movb %al, -4(%ebx) sarl $16, %edx sarl $24, %eax movb %dl, -2(%ebx) movb %al, -1(%ebx) movl -4(%ebp), %ebx leave ret .p2align 4,,7 L4: movl (%edx), %eax movl %eax, (%esp) call _LoadLibraryA@4 movl (%ebx), %edx subl $4, %esp movl %eax, 4(%edx) jmp L2 .section .rdata,"dr" LC0: .ascii "ntdll\0" .data .align 4 ntdll_info: .long LC0 .long 0 .section .rdata,"dr" LC1: .ascii "advapi32\0" .data .align 4 advapi32_info: .long LC1 .long 0 .section .rdata,"dr" LC2: .ascii "wininet\0" .data .align 4 wininet_info: .long LC2 .long 0 .def _GetProcAddress@8; .scl 2; .type 32; .endef .def _LoadLibraryA@4; .scl 2; .type 32; .endef