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

Disassembly:
jmp 0x49ae90
sub esp, 0x11c
mov eax, dword [0x589780]
xor eax, esp
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x130]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x13c]
push ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x144]
push ebp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x154]
push esi
mov esi, dword [esp + 0x130]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x16c]
push edi
mov edi, dword [esp + 0x13c]
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa0], eax
mov byte [esp + 0x13], 0
call fcn.0040c383
lea eax, [esp + 0xb0]
push eax
push esi
call fcn.0040463d
test eax, eax
je 0x49af71
call fcn.00404d2c
call fcn.004015a5
lea ecx, [esp + 0xb0]
call fcn.004026a3
push eax
call fcn.004064ba
cmp byte [esp + 0x138], 0
mov ebp, eax
mov dword [esp + 0xac], ebp
je 0x49b8aa
push 0xa
call fcn.004018ed
test eax, eax
jne 0x49af65
call fcn.00403783
test eax, eax
jne 0x49af9f
test ebp, ebp
je 0x49af9f
push 0x32
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov byte [esp + 0x13], 0
lea ecx, [esp + 0xb0]
call fcn.004042ff
mov ecx, dword [esp + 0x128]
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0040512d
add esp, 0x11c
ret
push 0xa
call fcn.004018ed
test eax, eax
je 0x49afb7
call fcn.00409c5a
test eax, eax
jne 0x49afb7
push 5
jmp 0x49af6b
push 0x14
call fcn.004018ed
test eax, eax
je 0x49afdf
lea ecx, [esp + 0xb0]
call fcn.004026a3
push eax
call fcn.00403db4
test eax, eax
jne 0x49afdf
push 0x482
jmp 0x49af6b
mov esi, dword [esp + 0x6c]
test esi, esi
je 0x49b020
push dword [esp + 0x60]
lea ecx, [esp + 0xb4]
push ebx
push dword [esp + 0x44]
mov ebx, dword [esp + 0x150]
push dword [esp + 0x4c]
push dword [esp + 0x158]
push ebx
call fcn.004026a3
push eax
push esi
call fcn.004073d3
test eax, eax
je 0x49af71
jmp 0x49b027
mov ebx, dword [esp + 0x144]
push 0xa
call fcn.004018ed
test eax, eax
je 0x49b934
cmp ebx, 0xfffffffe
jne 0x49b047
call fcn.00402b3a
mov dword [esp + 0x144], eax
push 0x10
lea eax, [esp + 0xcc]
mov byte [esp + 0x17], 1
push eax
push 0x5662e4
call fcn.0040a290
push 0x10
lea eax, [esp + 0xdc]
push eax
push str.960_0U
call fcn.0040a290
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.00403481
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xdc]
push eax
call fcn.00403481
mov ebx, dword [esp + 0x40]
xor eax, eax
mov ebp, dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x74], eax
test ebx, ebx
je 0x49b0e9
push ebx
call esi
lea eax, [eax*2 + 2]
push eax
push 0x40
call ebp
push ebx
push eax
mov dword [esp + 0x38], eax
call edi
push dword [esp + 0x30]
call fcn.0040234c
add esp, 4
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x49b115
push ebx
call esi
lea eax, [eax*2 + 2]
push eax
push 0x40
call ebp
mov esi, eax
push ebx
push esi
mov dword [esp + 0x7c], esi
call edi
push esi
call fcn.0040234c
add esp, 4
jmp 0x49b117
xor esi, esi
push 0
push 0
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x4c]
call fcn.00402ae0
mov bl, al
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x12c]
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xc8]
push eax
push esi
call fcn.00402ae0
add esp, 0x40
test al, al
jne 0x49b19d
test bl, bl
jne 0x49b19d
mov byte [esp + 0x19], bl
jmp 0x49b1af
push 0x10000
push 0x40
mov byte [esp + 0x21], 1
call ebp
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x70], 0
xor edi, edi
mov dword [esp + 0x48], eax
xor ebx, ebx
mov dword [esp + 0x2c], edi
xor cl, cl
mov dword [esp + 0x24], ebx
xor esi, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x20], esi
jmp 0x49b1db
mov ebx, dword [esp + 0x24]
test cl, cl
je 0x49b1e7
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x14
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1e], 1
call fcn.00403972
add esp, 4
test eax, eax
je 0x49b210
push 0
mov ecx, eax
call fcn.0040b78f
mov ebp, eax
mov dword [esp + 0x14], eax
jmp 0x49b216
xor ebp, ebp
mov dword [esp + 0x14], ebp
test ebx, ebx
je 0x49b22b
push ebx
call fcn.00407351
add esp, 4
mov dword [esp + 0x24], 0
xor ecx, ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x68], ecx
mov dword [esp + 0x44], ecx
mov ecx, ebp
call fcn.0040279d
mov ebx, eax
sub ebx, 1
mov dword [esp + 0x1c], ebx
js 0x49b72d
mov byte [esp + 0x18], 1
test edi, edi
je 0x49b29d
mov ecx, edi
xor esi, esi
call fcn.0040279d
test eax, eax
jle 0x49b29d
nop dword [eax]
push esi
mov ecx, edi
call fcn.00409b29
push ebx
mov ecx, ebp
mov edi, dword [eax]
call fcn.00409b29
cmp edi, dword [eax]
je 0x49b298
mov edi, dword [esp + 0x2c]
inc esi
mov ecx, edi
call fcn.0040279d
cmp esi, eax
jl 0x49b270
jmp 0x49b29d
mov byte [esp + 0x18], 0
mov eax, dword [esp + 0x154]
test eax, eax
je 0x49b2d9
xor edi, edi
cmp dword [eax], edi
je 0x49b2cf
mov esi, eax
push ebx
mov ecx, ebp
call fcn.00409b29
mov ecx, dword [esi]
cmp ecx, dword [eax]
mov eax, dword [esp + 0x154]
je 0x49b2cf
inc edi
cmp dword [eax + edi*4], 0
lea esi, [eax + edi*4]
jne 0x49b2b0
cmp dword [eax + edi*4], 0
jne 0x49b718
cmp byte [esp + 0x18], 0
je 0x49b718
push ebx
mov ecx, ebp
call fcn.00409b29
cmp dword [eax], 8
jbe 0x49b718
push ebx
mov ecx, ebp
call fcn.00409b29
mov eax, dword [eax + 8]
push eax
call fcn.0040234c
add esp, 4
lea eax, [esp + 0xa4]
mov ecx, ebp
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x68]
push eax
push ebx
call fcn.00409b29
mov eax, dword [eax + 8]
push eax
call fcn.004054bb
add esp, 0x14
test al, al
jne 0x49b381
cmp byte [esp + 0x19], al
je 0x49b381
push ebx
mov ecx, ebp
call fcn.00409b29
mov ebx, dword [esp + 0x4c]
push 0x8000
push ebx
push dword [eax]
call fcn.00407a40
test eax, eax
je 0x49b381
push ebx
call fcn.0040234c
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x6c]
push eax
push ebx
call fcn.004054bb
add esp, 0x18
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
test eax, eax
je 0x49b3cd
push dword [esp + 0x88]
push dword [esp + 0x88]
push dword [esp + 0x88]
push dword [esp + 0x88]
push eax
push esi
push edi
push ebx
push ebp
call fcn.0040c0bd
add esp, 0x24
test al, al
je 0x49b710
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push esi
push edi
push ebx
push ebp
call fcn.0040c0bd
mov ebx, dword [esp + 0x40]
add esp, 0x24
test al, al
jne 0x49b714
mov esi, dword [esp + 0x14]
mov ecx, esi
push ebx
mov byte [esp + 0x1e], al
call fcn.00409b29
push dword [eax]
push 0
push 0x47a
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebp, eax
mov dword [esp + 0x38], ebp
test ebp, ebp
je 0x49b6e5
push ebp
call fcn.0040216c
test eax, eax
jne 0x49b6dc
cmp dword [esp + 0xac], eax
jne 0x49b6dc
push ebp
call fcn.00404afc
mov edi, eax
mov eax, dword [esp + 0x148]
test al, 1
jne 0x49b46b
test edi, edi
jne 0x49b6dc
test al, 4
jne 0x49b47d
push ebp
call fcn.00402edc
test eax, eax
jne 0x49b6dc
cmp dword [esp + 0x144], 0xffffffff
je 0x49b4b5
push ebx
mov ecx, esi
call fcn.00409b29
mov ecx, dword [esp + 0x144]
cmp dword [eax + 0xc], ecx
je 0x49b4b5
push ebx
mov ecx, esi
call fcn.00409b29
cmp dword [eax + 0xc], 0
jne 0x49b6dc
test edi, edi
je 0x49b6dc
cmp dword [esp + 0x34], 0
je 0x49b5ae
neg edi
push ebp
sbb edi, edi
and edi, 2
call fcn.00402937
mov esi, edi
or esi, 4
test eax, eax
push ebp
cmove esi, edi
call fcn.0040b942
mov ebx, dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ecx, esi
or ecx, 8
test eax, eax
push 0x10000
cmove ecx, esi
push 0x40
mov dword [esp + 0xb0], ecx
call ebx
push 0x10000
push 0x40
mov ebp, eax
call ebx
mov esi, dword [esp + 0x1c]
mov ebx, eax
mov edi, dword [esp + 0x14]
test ebp, ebp
je 0x49b52b
push esi
mov ecx, edi
call fcn.00409b29
push 0x8000
push ebp
push dword [eax]
call fcn.00407a40
test ebx, ebx
je 0x49b53e
push 0x8000
push ebx
push dword [esp + 0x40]
call fcn.00402301
push esi
mov ecx, edi
call fcn.00409b29
mov ecx, dword [esp + 0x14]
push esi
mov edi, dword [eax + 0xc]
call fcn.00409b29
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [eax + 4]
call fcn.00409b29
push ebx
push ebp
push dword [esp + 0xb0]
push edi
mov edi, dword [esp + 0x44]
push esi
push dword [eax]
push dword [esp + 0x78]
call edi
mov esi, eax
test ebp, ebp
je 0x49b58b
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_LocalFree]
call ebp
jmp 0x49b591
mov ebp, dword [sym.imp.KERNEL32.dll_LocalFree]
test ebx, ebx
je 0x49b598
push ebx
call ebp
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x38]
test esi, esi
je 0x49b6dc
mov esi, dword [esp + 0x14]
jmp 0x49b5b2
mov edi, dword [esp + 0x34]
push ebx
mov ecx, esi
call fcn.00409b29
lea ecx, [esp + 0xb0]
mov esi, dword [eax]
call fcn.004026a3
push dword [esp + 0x16c]
lea ecx, [esp + 0x54]
push dword [esp + 0x16c]
push dword [esp + 0x16c]
push ecx
push dword [esp + 0xb0]
push esi
push ebp
push eax
call fcn.00499120
add esp, 0x20
test al, al
je 0x49b683
test edi, edi
je 0x49b683
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x64]
cmp edi, eax
jne 0x49b667
add eax, 0x100
mov dword [esp + 0x64], eax
shl eax, 2
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
mov eax, dword [esp + 0x20]
test esi, esi
je 0x49b656
test eax, eax
je 0x49b661
lea ecx, [edi*4]
push ecx
push eax
push esi
call fcn.00409f98
mov eax, dword [esp + 0x2c]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [esp + 0x20], esi
jmp 0x49b66b
test eax, eax
je 0x49b661
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [esp + 0x20], esi
jmp 0x49b66b
mov esi, dword [esp + 0x20]
test esi, esi
je 0x49b683
mov ecx, dword [esp + 0x14]
push ebx
call fcn.00409b29
mov eax, dword [eax]
mov dword [esi + edi*4], eax
inc edi
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x50]
test edi, edi
je 0x49b6dc
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
cmp eax, ecx
jne 0x49b6c7
mov esi, 1
test ecx, ecx
je 0x49b6a3
lea esi, [ecx + ecx]
lea eax, [esi*4]
push eax
push dword [esp + 0x28]
call fcn.00405e20
add esp, 8
test eax, eax
je 0x49b6dc
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], esi
mov ecx, dword [esp + 0x24]
inc eax
sub ecx, 4
mov dword [esp + 0x28], eax
lea eax, [ecx + eax*4]
test eax, eax
je 0x49b6dc
mov dword [eax], edi
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x49b714
mov ebp, dword [esp + 0x14]
mov ecx, ebp
push ebx
call fcn.00409b29
cmp dword [eax], 0
je 0x49b718
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x49b718
push ebx
mov ecx, ebp
call fcn.00408959
mov byte [esp + 0x1b], 1
jmp 0x49b718
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
sub ebx, 1
mov dword [esp + 0x1c], ebx
jns 0x49b253
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x49b76a
test esi, esi
je 0x49b76a
push dword [esp + 0x3c]
lea ecx, [esp + 0xb4]
push dword [esp + 0x44]
push dword [esp + 0x150]
push dword [esp + 0x150]
call fcn.004026a3
push eax
push dword [esp + 0x58]
push esi
push ebx
call fcn.00401681
add esp, 0x20
cmp dword [esp + 0x48], 0
jne 0x49b77b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x28]
xor esi, esi
test ebx, ebx
jle 0x49b7b5
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x48]
nop dword [eax]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x49b7ac
push ebp
push dword [esp + 0x164]
push ecx
call fcn.0049d750
mov eax, dword [esp + 0x30]
add esp, 0xc
inc esi
cmp esi, ebx
jl 0x49b790
mov ebp, dword [esp + 0x14]
test edi, edi
je 0x49b7cb
mov ecx, edi
call fcn.00408afd
push 0x14
push edi
call fcn.0040246e
add esp, 8
mov edx, dword [esp + 0x70]
mov edi, ebp
inc edx
mov dword [esp + 0x2c], edi
cmp byte [esp + 0x1a], 0
mov dword [esp + 0x70], edx
jne 0x49b7f2
mov esi, dword [esp + 0x20]
mov cl, byte [esp + 0x1b]
cmp edx, 5
jne 0x49b1d7
mov eax, dword [esp + 0x20]
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
je 0x49b803
push eax
call ebx
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x49b80e
push eax
call ebx
mov eax, dword [esp + 0x30]
test eax, eax
je 0x49b819
push eax
call ebx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x49b824
push eax
call ebx
cmp dword [esp + 0x78], 0
je 0x49b84c
push dword [esp + 0x7c]
call ebx
push dword [esp + 0x80]
call ebx
push dword [esp + 0x84]
call ebx
push dword [esp + 0x88]
call ebx
cmp dword [esp + 0x8c], 0
je 0x49b87a
push dword [esp + 0x90]
call ebx
push dword [esp + 0x94]
call ebx
push dword [esp + 0x98]
call ebx
push dword [esp + 0x9c]
call ebx
test ebp, ebp
je 0x49b890
mov ecx, ebp
call fcn.00408afd
push 0x14
push ebp
call fcn.0040246e
add esp, 8
mov eax, dword [esp + 0x24]
test eax, eax
je 0x49af76
push eax
call fcn.00407351
add esp, 4
jmp 0x49af76
push edi
call fcn.0040aa01
push edi
mov esi, eax
call fcn.0040216c
mov ecx, dword [esp + 0x16c]
test cl, cl
jne 0x49b8cb
test eax, eax
jne 0x49af76
cmp ebp, eax
jne 0x49af76
push ecx
push dword [esp + 0x16c]
lea eax, [esp + 0x58]
push dword [esp + 0x16c]
lea ecx, [esp + 0xbc]
push eax
push dword [esp + 0xb0]
push esi
push edi
call fcn.004026a3
push eax
call fcn.00499120
add esp, 0x20
test al, al
je 0x49af76
mov esi, dword [esp + 0x50]
test esi, esi
je 0x49b934
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push dword [esp + 0x164]
push esi
call fcn.0049d750
add esp, 0xc
test al, al
je 0x49af76
mov byte [esp + 0x13], 1
jmp 0x49af76