Function at 0x40c980
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov eax, dword [ebp + 8]
mov dword [esp + 0xb0], eax
mov ax, word [0x41e128]
mov word [esp + 0x4c], ax
mov eax, dword [0x41e124]
mov dword [esp + 0x48], eax
mov eax, dword [0x46a8c8]
mov dword [esp + 0xb8], eax
lea ebx, [esp + 0x58]
lea edi, [esp + 0x80]
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x30], 0x94961e5c
jmp 0x40cad0
mov dword [esp + 0x30], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x30]
cmp eax, 0x7dc8f8ec
jg 0x40cb00
cmp eax, 0x546904cd
jg 0x40cbc0
cmp eax, 0x81f27933
jg 0x40cbe2
cmp eax, 0x8080764d
jne 0x40cad0
jmp 0x40cdf2
cmp eax, 0x7dc8f8ed
jne 0x40cad0
mov eax, dword [0x41e12c]
movzx eax, word [eax]
mov dword [esp + 0x40], eax
mov ecx, dword [0x41e12c]
movzx eax, word [ecx + eax*2 + 2]
mov dword [esp + 0x3c], eax
mov ecx, dword [0x41e12c]
mov edx, dword [esp + 0x40]
lea esi, [ecx + edx*2 + 4]
add ecx, 2
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00402de0
mov eax, dword [0x41e130]
movzx eax, word [eax]
mov dword [esp + 0x40], eax
mov ecx, dword [0x41e130]
movzx eax, word [ecx + eax*2 + 2]
mov dword [esp + 0x3c], eax
mov ecx, dword [0x41e130]
mov edx, dword [esp + 0x40]
lea esi, [ecx + edx*2 + 4]
add ecx, 2
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.00402de0
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004142c8
test eax, eax
mov eax, 0x39e6beb7
jne 0x40cabd
mov eax, 0x546904ce
jmp 0x40cabd
cmp eax, 0x546904ce
jne 0x40cad0
mov dword [0x46a8cc], 1
mov dword [esp + 0x30], 0x985b1eab
jmp 0x40cad0
cmp eax, 0x85199d08
jg 0x40cc0d
cmp eax, 0x81f27934
jne 0x40cad0
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0041315b
mov dword [esp + 0x30], 0xa3c5b2aa
jmp 0x40cad0
cmp eax, 0x92a04ba7
jg 0x40cc47
cmp eax, 0x85199d09
jne 0x40cad0
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 0xb4], 0xffffffff
mov dword [esp + 0x30], 0x33e9f5dd
jmp 0x40cad0
cmp eax, 0x932c2984
jg 0x40cca3
cmp eax, 0x92a04ba8
jne 0x40cad0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x38]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x19
call dword [0x46b85c]
sub esp, 0x14
mov eax, 0x2cd9364d
cmp dword [esp + 0x38], 0
jne 0x40cc9a
mov eax, 0x29179614
mov dword [esp + 0x30], eax
jmp 0x40cad0
cmp eax, 0x94961e5b
jg 0x40cccf
cmp eax, 0x932c2985
jne 0x40cad0
mov eax, 0x81f27934
cmp dword [esp + 0x54], 0
jne 0x40ccc6
mov eax, 0xa3c5b2aa
mov dword [esp + 0x30], eax
jmp 0x40cad0
cmp eax, 0x985b1eaa
jg 0x40ccfe
cmp eax, 0x94961e5c
jne 0x40cad0
mov eax, 0x8080764d
cmp dword [esp + 0xb8], 0
jne 0x40ccf5
mov eax, 0xcf5377b0
mov dword [esp + 0x30], eax
jmp 0x40cad0
cmp eax, 0x9b9fb68c
jg 0x40cd1d
cmp eax, 0x985b1eab
jne 0x40cad0
mov dword [esp + 0x30], 0xf222772d
jmp 0x40cad0
cmp eax, 0x9e335db6
jg 0x40cd6a
cmp eax, 0x9b9fb68d
jne 0x40cad0
mov esi, dword [0x46b860]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea ecx, [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x2000000
call esi
sub esp, 0xc
test eax, eax
mov eax, 0x92a04ba8
jne 0x40cd61
mov eax, 0x2db8568c
mov dword [esp + 0x30], eax
jmp 0x40cad0
cmp eax, 0xa12956f5
jg 0x40cdb7
cmp eax, 0x9e335db7
jne 0x40cad0
mov eax, dword [esp + 0x54]
mov dword [esp + 0xac], eax
mov eax, dword [eax]
lea ecx, [esp + 0xa8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [0x46b858]
sub esp, 8
test eax, eax
mov eax, 0x7dc8f8ed
jne 0x40cdae
mov eax, 0xf222772d
mov dword [esp + 0x30], eax
jmp 0x40cad0
cmp eax, 0xa3c5b2a9
jg 0x40cdd6
cmp eax, 0xa12956f6
jne 0x40cad0
mov dword [esp + 0x30], 0x29179614
jmp 0x40cad0
cmp eax, 0xbbf068b6
jg 0x40ce0b
cmp eax, 0xa3c5b2aa
jne 0x40cad0
mov dword [0x46a8c8], 1
mov eax, dword [0x46a8cc]
mov dword [esp + 0xb4], eax
mov dword [esp + 0x30], 0x3961dfdb
jmp 0x40cad0
cmp eax, 0xc05f26fe
jg 0x40ce2a
cmp eax, 0xbbf068b7
jne 0x40cad0
mov dword [esp + 0x30], 0xc05f26ff
jmp 0x40cad0
cmp eax, 0xc269906c
jg 0x40ce59
cmp eax, 0xc05f26ff
jne 0x40cad0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call dword [0x46b84c]
sub esp, 4
mov dword [esp + 0x30], 0xca97accb
jmp 0x40cad0
cmp eax, 0xca97acca
jg 0x40ceb2
cmp eax, 0xc269906d
jne 0x40cad0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
lea esi, [esp + 0x38]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x19
call dword [0x46b85c]
sub esp, 0x14
test eax, eax
mov eax, 0x9e335db7
jne 0x40cea9
mov eax, 0xa12956f6
mov dword [esp + 0x30], eax
jmp 0x40cad0
cmp eax, 0xcf5377af
jg 0x40ced1
cmp eax, 0xca97accb
jne 0x40cad0
mov dword [esp + 0x30], 0xec6195eb
jmp 0x40cad0
cmp eax, 0xec6195ea
jg 0x40cf0d
cmp eax, 0xcf5377b0
jne 0x40cad0
call fcn.00403390
mov ecx, dword [esp + 0xb0]
mov dword [ecx], eax
mov dword [esp + 0x34], eax
mov ecx, 0x9b9fb68d
cmp eax, 5
ja 0x40cf04
mov ecx, 0xf15095e0
mov dword [esp + 0x30], ecx
jmp 0x40cad0
cmp eax, 0xee9b026c
jg 0x40cf2c
cmp eax, 0xec6195eb
jne 0x40cad0
mov dword [esp + 0x30], 0x932c2985
jmp 0x40cad0
cmp eax, 0xf15095df
jg 0x40cf4b
cmp eax, 0xee9b026d
jne 0x40cad0
mov dword [esp + 0x30], 0x3961dfdb
jmp 0x40cad0
cmp eax, 0x39e6beb6
jg 0x40d00f
cmp eax, 0x3961dfda
jg 0x40d044
cmp eax, 0x33e9f5dc
jg 0x40d054
cmp eax, 0x2db8568b
jg 0x40d087
cmp eax, 0x2cd9364c
jg 0x40d09f
cmp eax, 0xf1c58053
jg 0x40d0d9
cmp eax, 0xf15095e0
jne 0x40cad0
lea eax, [esp + 0x44]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x220
mov dword [esp + 8], 0x20
mov dword [esp + 4], 2
call dword [0x46b854]
sub esp, 0x2c
test eax, eax
mov eax, 0xf1c58054
jne 0x40d006
mov eax, 0xec6195eb
mov dword [esp + 0x30], eax
jmp 0x40cad0
cmp eax, 0x39e6beb7
jne 0x40cad0
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004142c8
test eax, eax
mov eax, 0x985b1eab
jne 0x40d03b
mov eax, 0x546904ce
mov dword [esp + 0x30], eax
jmp 0x40cad0
cmp eax, 0x3961dfdb
jne 0x40cad0
jmp 0x40d1d2
cmp eax, 0x33e9f5dd
jne 0x40cad0
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 0xb4], 0xffffffff
mov dword [esp + 0x30], 0xee9b026d
jmp 0x40cad0
cmp eax, 0x2db8568c
jne 0x40cad0
mov dword [esp + 0x30], 0x932c2985
jmp 0x40cad0
cmp eax, 0x2cd9364d
jne 0x40cad0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00413193
mov dword [esp + 0x54], eax
mov ecx, 0x28aadade
test eax, eax
je 0x40d0d0
mov ecx, 0xc269906d
mov dword [esp + 0x30], ecx
jmp 0x40cad0
cmp eax, 0x29179613
jg 0x40d111
cmp eax, 0x28aadadd
jg 0x40d139
cmp eax, 0x1da20da6
jg 0x40d151
cmp eax, 0xf1c58054
je 0x40d179
cmp eax, 0xf222772d
jne 0x40d1b0
mov dword [esp + 0x30], 0xa12956f6
jmp 0x40cad0
cmp eax, 0x29179614
jne 0x40cad0
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 0x30], 0x2db8568c
jmp 0x40cad0
cmp eax, 0x28aadade
jne 0x40cad0
mov dword [esp + 0x30], 0x33e9f5dd
jmp 0x40cad0
cmp eax, 0x1da20da7
jne 0x40cad0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call dword [0x46b84c]
sub esp, 4
mov dword [esp + 0x30], 0xc05f26ff
jmp 0x40cad0
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x46a8cc
mov dword [esp], 0
call dword [0x46b850]
sub esp, 0xc
test eax, eax
mov eax, 0xbbf068b7
jne 0x40d1a7
mov eax, 0x148c354d
mov dword [esp + 0x30], eax
jmp 0x40cad0
cmp eax, 0x148c354d
jne 0x40cad0
mov dword [0x46a8cc], 0
mov dword [esp + 0x30], 0xbbf068b7
jmp 0x40cad0
mov eax, dword [esp + 0xb4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret