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

Disassembly:
jmp 0x49bbf0
sub esp, 0xec
mov eax, dword [0x589780]
xor eax, esp
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x100]
lea ecx, [esp + 0x70]
push ebx
mov ebx, dword [esp + 0x114]
push ebp
mov ebp, dword [esp + 0x114]
push esi
mov esi, dword [esp + 0x100]
push edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0x3c], eax
call fcn.0040c383
lea eax, [esp + 0x80]
push eax
push esi
call fcn.0040463d
test eax, eax
je 0x49bc9a
call fcn.00404d2c
call fcn.004015a5
lea ecx, [esp + 0x80]
call fcn.004026a3
push eax
call fcn.004064ba
cmp byte [esp + 0x108], 0
mov esi, eax
mov dword [esp + 0x24], esi
je 0x49c479
push 0xb
call fcn.004018ed
test eax, eax
jne 0x49bc8e
call fcn.00403783
test eax, eax
jne 0x49bcc3
test esi, esi
je 0x49bcc3
push 0x32
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
lea ecx, [esp + 0x80]
call fcn.004042ff
mov ecx, dword [esp + 0xf8]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0040512d
add esp, 0xec
ret
push 0xb
call fcn.004018ed
test eax, eax
je 0x49bcdb
call fcn.00409c5a
test eax, eax
jne 0x49bcdb
push 5
jmp 0x49bc94
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x114]
mov byte [esp + 0x10], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x28], 0
test esi, esi
je 0x49bd33
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x18]
push eax
push ebx
push ebp
push dword [esp + 0x12c]
lea ecx, [esp + 0x98]
push edi
call fcn.004026a3
push eax
push esi
call fcn.0040b0d2
test eax, eax
je 0x49bc9a
push 0xb
call fcn.004018ed
test eax, eax
jne 0x49bd57
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49bd4d
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, 1
jmp 0x49bc9c
cmp byte [esp + 0x10], 0
je 0x49be7b
mov eax, dword [esp + 0x78]
xor ebx, ebx
xor edi, edi
xor ebp, ebp
add eax, 0xffffffff
mov dword [esp + 0x1c], eax
js 0x49be29
nop dword [eax]
lea esi, [eax*4]
mov eax, dword [esp + 0x28]
push dword [esi + eax]
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [esp + 0x20], eax
test eax, eax
je 0x49be18
mov ecx, dword [esp + 0x28]
mov esi, dword [esi + ecx]
lea ecx, [esp + 0x80]
call fcn.004026a3
push 0
push esi
push dword [esp + 0x28]
push eax
call fcn.0049cef0
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x49be0e
cmp edi, ebp
jne 0x49be01
mov esi, 1
test ebp, ebp
je 0x49bde4
lea esi, [ebp*2]
lea eax, [esi*4]
push eax
push ebx
call fcn.00405e20
add esp, 8
test eax, eax
je 0x49be0e
mov ecx, dword [esp + 0x24]
mov ebp, esi
mov ebx, eax
inc edi
lea eax, [edi - 1]
lea eax, [ebx + eax*4]
test eax, eax
je 0x49be0e
mov dword [eax], ecx
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x1c]
sub eax, 1
mov dword [esp + 0x1c], eax
jns 0x49bd80
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor esi, esi
mov dword [esp + 0x24], eax
test edi, edi
jle 0x49be56
mov ebp, dword [esp + 0x128]
push eax
push ebp
push dword [ebx + esi*4]
call fcn.0049d750
mov eax, dword [esp + 0x30]
inc esi
add esp, 0xc
cmp esi, edi
jl 0x49be40
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_LocalFree]
test ebx, ebx
je 0x49c46f
push ebx
call fcn.00407351
add esp, 4
mov esi, 1
jmp 0x49bc9c
cmp edi, 0xfffffffe
jne 0x49be8c
call fcn.00402b3a
mov dword [esp + 0x114], eax
push 0x10
lea eax, [esp + 0x9c]
push eax
push 0x5662e4
call fcn.0040a290
push 0x10
lea eax, [esp + 0xac]
push eax
push str.960_0U
call fcn.0040a290
lea eax, [esp + 0xd8]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.00403481
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xac]
push eax
call fcn.00403481
mov esi, dword [sym.imp.KERNEL32.dll_LocalAlloc]
xor eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], eax
test ebp, ebp
je 0x49bf27
push ebp
call edi
lea eax, [eax*2 + 2]
push eax
push 0x40
call esi
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyW]
push eax
mov dword [esp + 0x40], eax
call ebp
push dword [esp + 0x38]
call fcn.0040234c
add esp, 4
jmp 0x49bf2d
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyW]
test ebx, ebx
je 0x49bf55
push ebx
call edi
lea eax, [eax*2 + 2]
push eax
push 0x40
call esi
mov edi, eax
push ebx
push edi
mov dword [esp + 0x58], edi
call ebp
push edi
call fcn.0040234c
add esp, 4
jmp 0x49bf57
xor edi, edi
push 0
push 0
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x54]
call fcn.00402ae0
mov bl, al
lea eax, [esp + 0xd8]
push eax
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xa4]
push eax
push edi
call fcn.00402ae0
add esp, 0x40
test al, al
jne 0x49bfdd
test bl, bl
jne 0x49bfdd
xor eax, eax
mov byte [esp + 0x12], bl
xor edi, edi
mov dword [esp + 0x1c], eax
xor ebx, ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x18], ebx
jmp 0x49c007
push 0x10000
push 0x40
mov byte [esp + 0x1a], 1
call esi
mov dword [esp + 0x20], eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x34], edi
xor ebx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
jmp 0x49c007
mov ebx, dword [esp + 0x18]
push 0x14
mov byte [esp + 0x17], 1
call fcn.00403972
add esp, 4
test eax, eax
je 0x49c02b
push 0
mov ecx, eax
call fcn.0040b78f
mov ebp, eax
mov dword [esp + 0x2c], eax
jmp 0x49c031
xor ebp, ebp
mov dword [esp + 0x2c], ebp
test ebx, ebx
je 0x49c046
push ebx
call fcn.00407351
add esp, 4
mov dword [esp + 0x18], 0
xor esi, esi
mov dword [esp + 0x30], 0
mov ecx, ebp
mov dword [esp + 0x4c], esi
call fcn.0040279d
mov ebx, eax
sub ebx, 1
mov dword [esp + 0x14], ebx
js 0x49c374
nop word [eax + eax]
mov byte [esp + 0x11], 1
test edi, edi
je 0x49c0b3
mov ecx, edi
xor esi, esi
call fcn.0040279d
test eax, eax
jle 0x49c0b3
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 0x49c0ae
mov edi, dword [esp + 0x34]
inc esi
mov ecx, edi
call fcn.0040279d
cmp esi, eax
jl 0x49c086
jmp 0x49c0b3
mov byte [esp + 0x11], 0
mov eax, dword [esp + 0x124]
test eax, eax
je 0x49c0ef
xor esi, esi
cmp dword [eax], esi
je 0x49c0e5
mov edi, eax
push ebx
mov ecx, ebp
call fcn.00409b29
mov ecx, dword [edi]
cmp ecx, dword [eax]
mov eax, dword [esp + 0x124]
je 0x49c0e5
inc esi
cmp dword [eax + esi*4], 0
lea edi, [eax + esi*4]
jne 0x49c0c6
cmp dword [eax + esi*4], 0
jne 0x49c363
cmp byte [esp + 0x11], 0
je 0x49c363
push ebx
mov ecx, ebp
call fcn.00409b29
cmp dword [eax], 8
jbe 0x49c363
push ebx
mov ecx, ebp
call fcn.00409b29
mov eax, dword [eax + 8]
push eax
call fcn.0040234c
add esp, 4
lea eax, [esp + 0x7c]
mov ecx, ebp
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x54]
push eax
push ebx
call fcn.00409b29
mov eax, dword [eax + 8]
push eax
call fcn.004054bb
add esp, 0x14
test al, al
jne 0x49c194
cmp byte [esp + 0x12], al
je 0x49c194
push ebx
mov ecx, ebp
call fcn.00409b29
mov ebx, dword [esp + 0x20]
push 0x8000
push ebx
push dword [eax]
call fcn.00407a40
test eax, eax
je 0x49c194
push ebx
call fcn.0040234c
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x58]
push eax
push ebx
call fcn.004054bb
add esp, 0x18
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
test eax, eax
je 0x49c1d1
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
push eax
push esi
push edi
push ebx
push ebp
call fcn.0040c0bd
add esp, 0x24
test al, al
je 0x49c35b
push dword [esp + 0x3c]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push esi
push edi
push ebx
push ebp
call fcn.0040c0bd
mov ebx, dword [esp + 0x38]
add esp, 0x24
mov ebp, dword [esp + 0x2c]
test al, al
jne 0x49c363
push ebx
mov ecx, ebp
mov byte [esp + 0x17], al
call fcn.00409b29
push dword [eax]
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x49c363
push edi
call fcn.0040216c
test eax, eax
jne 0x49c352
cmp dword [esp + 0x24], eax
jne 0x49c352
mov eax, dword [esp + 0x118]
test al, 1
jne 0x49c25e
push edi
call fcn.00404afc
test eax, eax
jne 0x49c352
mov eax, dword [esp + 0x118]
test al, 4
jne 0x49c270
push edi
call fcn.00402edc
test eax, eax
jne 0x49c352
mov esi, dword [esp + 0x114]
cmp esi, 0xffffffff
je 0x49c2b4
push ebx
mov ecx, ebp
call fcn.00409b29
push dword [eax]
call fcn.00407c6b
cmp eax, esi
je 0x49c2b4
push ebx
mov ecx, ebp
call fcn.00409b29
push dword [eax]
call fcn.00407c6b
test eax, eax
jne 0x49c352
push edi
call fcn.00404afc
test eax, eax
je 0x49c352
push 0
lea ecx, [esp + 0x84]
call fcn.004026a3
push eax
push edi
call fcn.00404bd8
add esp, 0xc
test eax, eax
jne 0x49c352
push ebx
mov ecx, ebp
call fcn.00409b29
lea ecx, [esp + 0x80]
mov esi, dword [eax]
call fcn.004026a3
push 0
push esi
push edi
push eax
call fcn.0049cef0
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x49c34e
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x30]
cmp eax, ecx
jne 0x49c339
mov esi, 1
test ecx, ecx
je 0x49c315
lea esi, [ecx + ecx]
lea eax, [esi*4]
push eax
push dword [esp + 0x1c]
call fcn.00405e20
add esp, 8
test eax, eax
je 0x49c34e
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], esi
mov ecx, dword [esp + 0x18]
inc eax
sub ecx, 4
mov dword [esp + 0x30], eax
lea eax, [ecx + eax*4]
test eax, eax
je 0x49c34e
mov dword [eax], ebx
mov ebx, dword [esp + 0x14]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x49c363
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
sub ebx, 1
mov dword [esp + 0x14], ebx
jns 0x49c070
cmp dword [esp + 0x1c], 0
jne 0x49c385
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x30]
xor esi, esi
test ebx, ebx
jle 0x49c3bc
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x49c3b3
push ebp
push dword [esp + 0x12c]
push ecx
call fcn.0049d750
mov eax, dword [esp + 0x24]
add esp, 0xc
inc esi
cmp esi, ebx
jl 0x49c397
mov ebp, dword [esp + 0x2c]
test edi, edi
je 0x49c3d2
mov ecx, edi
call fcn.00408afd
push 0x14
push edi
call fcn.0040246e
add esp, 8
cmp byte [esp + 0x13], 0
mov edi, ebp
mov dword [esp + 0x34], edi
je 0x49c003
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
je 0x49c3f4
push eax
call esi
mov eax, dword [esp + 0x38]
test eax, eax
je 0x49c3ff
push eax
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49c40a
push eax
call esi
cmp dword [esp + 0x54], 0
je 0x49c429
push dword [esp + 0x58]
call esi
push dword [esp + 0x5c]
call esi
push dword [esp + 0x60]
call esi
push dword [esp + 0x64]
call esi
cmp dword [esp + 0x68], 0
je 0x49c448
push dword [esp + 0x6c]
call esi
push dword [esp + 0x70]
call esi
push dword [esp + 0x74]
call esi
push dword [esp + 0x3c]
call esi
test ebp, ebp
je 0x49c45e
mov ecx, ebp
call fcn.00408afd
push 0x14
push ebp
call fcn.0040246e
add esp, 8
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49c46f
push eax
call fcn.00407351
add esp, 4
mov esi, 1
jmp 0x49bc9c
push edi
call fcn.0040aa01
push edi
mov ebx, eax
call fcn.0040216c
xor esi, esi
test eax, eax
jne 0x49bc9c
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x49bc9c
push eax
lea ecx, [esp + 0x84]
call fcn.004026a3
push eax
push edi
call fcn.00404bd8
add esp, 0xc
test eax, eax
jne 0x49bd4d
push eax
push ebx
push edi
lea ecx, [esp + 0x8c]
call fcn.004026a3
push eax
call fcn.0049cef0
mov edi, eax
add esp, 0x10
test edi, edi
je 0x49bc9c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push dword [esp + 0x12c]
push edi
call fcn.0049d750
add esp, 0xc
mov ecx, 1
test al, al
cmovne esi, ecx
jmp 0x49bc9c