Function at 0x40d28a
Capabilities:
Link many functions at runtime

Disassembly:
push 0x80
mov eax, 0x431034
call fcn.0042fed0
mov esi, ecx
mov dword [ebp - 0x88], esi
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edi, dword [ebp + 0xc]
push 0x402c6c
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x78], eax
mov dword [esi], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esi + 4], eax
test eax, eax
jne 0x40d2cb
call fcn.0040d18a
mov al, byte [ebp + 0x10]
mov dword [ebp - 4], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov ebx, 0x402c7c
push ebx
push dword [esi + 4]
mov byte [esi + 8], al
mov dword [esi + 0xc], 1
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x18], eax
test eax, eax
jne 0x40d341
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040c051
lea ecx, [ebp - 0x74]
call fcn.00406389
mov byte [ebp - 4], 2
push eax
push 0x7f
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x58]
call fcn.0040d0d7
push 0x438060
lea eax, [ebp - 0x58]
push eax
call sub.msvcrt.dll__CxxThrowException
mov ebx, 0x402c98
push ebx
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x1c], eax
test eax, eax
jne 0x40d36e
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040c051
lea ecx, [ebp - 0x74]
call fcn.00406389
mov byte [ebp - 4], 4
jmp 0x40d324
mov ebx, 0x402cb0
push ebx
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x24], eax
test eax, eax
jne 0x40d39b
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040c051
lea ecx, [ebp - 0x74]
call fcn.00406389
mov byte [ebp - 4], 6
jmp 0x40d324
mov ebx, 0x402cd4
push ebx
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x20], eax
test eax, eax
jne 0x40d3cb
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040c051
lea ecx, [ebp - 0x74]
call fcn.00406389
mov byte [ebp - 4], 8
jmp 0x40d324
mov ebx, 0x402cf0
push ebx
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x28], eax
test eax, eax
jne 0x40d3fb
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040c051
lea ecx, [ebp - 0x74]
call fcn.00406389
mov byte [ebp - 4], 0xa
jmp 0x40d324
push 0x402d14
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, 0x402d3c
mov dword [esi + 0x2c], eax
push ebx
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x30], eax
test eax, eax
jne 0x40d43c
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040c051
lea ecx, [ebp - 0x74]
call fcn.00406389
mov byte [ebp - 4], 0xc
jmp 0x40d324
mov ebx, 0x402d60
push ebx
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x34], eax
test eax, eax
jne 0x40d46c
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040c051
lea ecx, [ebp - 0x74]
call fcn.00406389
mov byte [ebp - 4], 0xe
jmp 0x40d324
push 0x402d80
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
mov dword [esi + 0x14], ebx
test ebx, ebx
je 0x40d4e2
xor eax, eax
cmp dword [edi + 0x10], eax
jbe 0x40d494
cmp dword [edi + 0x14], 8
jb 0x40d496
mov edi, dword [edi]
jmp 0x40d496
mov edi, eax
push eax
push eax
push edi
push dword [ebp - 0x78]
mov ecx, ebx
push esi
call dword [0x43e400]
call ebx
test eax, eax
jne 0x40d542
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x402da0
call fcn.0040de2d
pop ecx
pop ecx
push 0x402ddc
lea ecx, [ebp - 0x84]
call fcn.0040b9ac
push 0x437fa4
lea eax, [ebp - 0x84]
jmp 0x40d33b
mov ebx, 0x402e00
push ebx
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
mov dword [esi + 0x10], edi
test edi, edi
jne 0x40d514
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040c051
lea ecx, [ebp - 0x74]
call fcn.00406389
mov byte [ebp - 4], 0x10
jmp 0x40d324
push 0
push dword [ebp - 0x78]
mov ecx, edi
push esi
call dword [0x43e400]
call edi
test eax, eax
jne 0x40d542
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x402e1c
call fcn.0040de2d
pop ecx
pop ecx
push 0x402e54
jmp 0x40d4c7
cmp dword [esi + 0x14], 0
je 0x40d555
cmp dword [esi + 0x2c], 0
je 0x40d555
mov dword [esi + 0xc], 2
mov eax, esi
call fcn.0042fe70
ret 0xc