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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x78c
mov eax, dword [0x403004]
xor eax, esp
mov dword [esp + 0x788], eax
push ebx
push esi
push edi
lea ecx, [esp + 0xa8]
call dword [0x404114]
lea ecx, [esp + 0x1e8]
call dword [0x4040ac]
lea ecx, [esp + 0x90]
call dword [0x404124]
lea ecx, [esp + 0x48]
call dword [0x404124]
lea ecx, [esp + 0x1bc]
call dword [0x4040b8]
lea ecx, [esp + 0x148]
call dword [0x404100]
lea ecx, [esp + 0x18c]
call dword [0x4040bc]
lea ecx, [esp + 0x118]
call dword [0x4040bc]
lea ecx, [esp + 0x30]
call dword [0x404138]
lea ecx, [esp + 0x14]
call dword [0x404138]
xor ebx, ebx
lea ecx, [esp + 0x300]
mov byte [esp + 0x13], bl
call dword [0x4040cc]
lea ecx, [esp + 0x548]
call dword [0x4040cc]
lea ecx, [esp + 0x78]
call dword [0x404138]
lea ecx, [esp + 0x60]
call dword [0x404138]
push ebx
push ebx
xor esi, esi
inc esi
push esi
push ebx
call dword [0x404018]
call dword [0x404110]
push eax
call dword [0x404134]
push eax
call dword [0x4040d4]
push eax
lea ecx, [esp + 0xb4]
call dword [0x40411c]
test al, al
je 0x401d90
push 0x19
push 0x32
lea ecx, [esp + 0x98]
call dword [0x40412c]
test al, al
je 0x401d90
push 0x19
push 0x32
lea ecx, [esp + 0x50]
call dword [0x40412c]
test al, al
je 0x401d90
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x1ec]
call dword [0x4040a4]
test al, al
je 0x401d90
push ebx
lea ecx, [esp + 0x1ec]
call dword [0x404094]
push ebx
lea ecx, [esp + 0x1ec]
call dword [0x404098]
test al, al
je 0x401d90
push 0x401130
lea ecx, [esp + 0x1c0]
call dword [0x4040b0]
test al, al
je 0x401d90
push 0x401134
lea ecx, [esp + 0x190]
call dword [0x4040fc]
test al, al
je 0x401d90
push 0x401138
lea ecx, [esp + 0x11c]
call dword [0x4040fc]
test al, al
je 0x401d90
lea ecx, [esp + 0x148]
call dword [0x404104]
test al, al
je 0x401d90
lea eax, [esp + 0x1bc]
push eax
lea ecx, [esp + 0x4c]
call dword [0x404130]
test al, al
je 0x401d90
lea eax, [esp + 0x18c]
push eax
lea ecx, [esp + 0x4c]
call dword [0x404130]
test al, al
je 0x401d90
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x4c]
call dword [0x404130]
test al, al
je 0x401d90
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x4c]
call dword [0x404130]
test al, al
je 0x401d90
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x1ec]
call dword [0x404148]
test al, al
jne 0x401e88
push 3
push ebx
push 0xbd2
lea ecx, [esp + 0xb4]
call dword [0x404140]
lea ecx, [esp + 0x1e8]
call dword [0x40409c]
push eax
lea eax, [esp + 0xac]
push 0x401110
push eax
call dword [0x404120]
add esp, 0xc
mov ebx, esi
mov esi, ebx
mov ebx, esi
lea ecx, [esp + 0x60]
call dword [0x40413c]
lea ecx, [esp + 0x78]
call dword [0x40413c]
lea ecx, [esp + 0x548]
call dword [0x4040c4]
lea ecx, [esp + 0x300]
call dword [0x4040c4]
lea ecx, [esp + 0x14]
call dword [0x40413c]
lea ecx, [esp + 0x30]
call dword [0x40413c]
lea ecx, [esp + 0x128]
call dword [0x40413c]
lea ecx, [esp + 0x118]
call dword [0x4040d0]
lea ecx, [esp + 0x19c]
call dword [0x40413c]
lea ecx, [esp + 0x18c]
call dword [0x4040d0]
lea ecx, [esp + 0x170]
call dword [0x40413c]
lea ecx, [esp + 0x158]
call dword [0x40413c]
lea ecx, [esp + 0x148]
call dword [0x4040d0]
lea ecx, [esp + 0x1bc]
call dword [0x4040b4]
lea ecx, [esp + 0x48]
call dword [0x404128]
lea ecx, [esp + 0x90]
call dword [0x404128]
lea ecx, [esp + 0x1e8]
call dword [0x4040a8]
lea ecx, [esp + 0xa8]
call dword [0x404118]
mov ecx, dword [esp + 0x794]
mov eax, ebx
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004025a0
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0x1b8], bl
je 0x401ea2
lea ecx, [esp + 0xa8]
call fcn.004013d0
jmp 0x401d92
lea ecx, [esp + 0x30]
call dword [0x4040f8]
test al, al
je 0x401d94
lea ecx, [esp + 0x148]
call dword [0x404108]
push 0x3a
pop edi
test al, al
je 0x4020fd
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x178]
push eax
lea ecx, [esp + 0x20]
call dword [0x4040e4]
test al, al
je 0x401d94
push ebx
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x308]
call dword [0x4040c8]
test al, al
je 0x401d94
lea ecx, [esp + 0x118]
call dword [0x404108]
test al, al
je 0x401fea
cmp dword [esp + 0x20], esi
jbe 0x401f2c
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 2]
jmp 0x401f31
mov eax, 0xffff
cmp ax, di
je 0x401f7f
lea ecx, [esp + 0x300]
call dword [0x4040c0]
test al, al
jne 0x401f7f
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
call dword [0x4040e4]
test al, al
je 0x401d94
push 0xffffffffffffffff
push 0x40113c
lea ecx, [esp + 0x1c]
call dword [0x4040e8]
test al, al
jne 0x402116
jmp 0x401d94
push ebx
push 0x20
pop edi
push edi
lea ecx, [esp + 0x1c]
call dword [0x4040f0]
mov dword [esp + 0x2c], eax
cmp eax, 0xffffffff
je 0x402113
push 0xffffffffffffffff
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
call dword [0x4040e4]
test al, al
je 0x401d94
push 0xffffffffffffffff
push dword [esp + 0x30]
lea ecx, [esp + 0x1c]
call dword [0x4040e0]
cmp dword [esp + 0x3c], ebx
jbe 0x401fd4
mov eax, dword [esp + 0x38]
movzx eax, word [eax]
jmp 0x401fd9
mov eax, 0xffff
cmp ax, di
jne 0x402113
push esi
push ebx
lea ecx, [esp + 0x38]
jmp 0x401fbf
cmp dword [esp + 0x20], esi
jbe 0x401ffa
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 2]
jmp 0x401fff
mov eax, 0xffff
cmp ax, di
jne 0x40205b
push 0xffffffffffffffff
push 2
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
call dword [0x4040e4]
test al, al
je 0x401d94
push 0xffffffffffffffff
push 2
lea ecx, [esp + 0x1c]
call dword [0x4040e0]
push 0x20
pop edi
cmp dword [esp + 0x3c], ebx
jbe 0x40203f
mov eax, dword [esp + 0x38]
movzx eax, word [eax]
jmp 0x402044
mov eax, 0xffff
cmp ax, di
jne 0x402113
push esi
push ebx
lea ecx, [esp + 0x38]
call dword [0x4040e0]
jmp 0x402030
lea ecx, [esp + 0x300]
call dword [0x4040c0]
test al, al
je 0x4020d3
push ebx
push 0x20
pop edi
push edi
lea ecx, [esp + 0x1c]
call dword [0x4040f0]
mov dword [esp + 0x2c], eax
cmp eax, 0xffffffff
je 0x402113
push 0xffffffffffffffff
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
call dword [0x4040e4]
test al, al
je 0x401d94
push 0xffffffffffffffff
push dword [esp + 0x30]
lea ecx, [esp + 0x1c]
call dword [0x4040e0]
cmp dword [esp + 0x3c], ebx
jbe 0x4020c1
mov eax, dword [esp + 0x38]
movzx eax, word [eax]
jmp 0x4020c6
mov eax, 0xffff
cmp ax, di
jne 0x402113
push esi
push ebx
lea ecx, [esp + 0x38]
jmp 0x4020ac
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
call dword [0x4040e4]
test al, al
je 0x401d94
lea eax, [esp + 0x14]
push eax
call dword [0x40410c]
jmp 0x401f72
lea ecx, [esp + 0x118]
call dword [0x404108]
test al, al
je 0x4020ed
jmp 0x401f61
push 0x3a
pop edi
push ebx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x308]
call dword [0x4040c8]
test al, al
je 0x401d94
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x54c]
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x30c]
call dword [0x404144]
test eax, eax
js 0x4022bd
cmp eax, esi
jle 0x40219d
cmp eax, 2
je 0x401d94
cmp eax, 4
jne 0x4022bd
push 3
push ebx
push 0x1778
lea ecx, [esp + 0xb4]
call dword [0x404140]
lea eax, [esp + 0xa8]
push 0x401100
push eax
call dword [0x404120]
pop ecx
pop ecx
jmp 0x401d94
cmp dword [esp + 0x84], ebx
je 0x4021b0
push 3
push ebx
push 0x8ac
jmp 0x402176
lea ecx, [esp + 0x300]
call dword [0x4040c0]
lea ecx, [esp + 0x60]
push 0xffffffffffffffff
push ebx
test al, al
je 0x4022b1
lea eax, [esp + 0x1c]
push eax
call dword [0x4040e4]
test al, al
je 0x401d94
cmp dword [esp + 0x764], 2
jne 0x402213
mov eax, dword [esp + 0x760]
cmp word [eax + 2], di
jne 0x402213
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x760]
push eax
lea ecx, [esp + 0x20]
call dword [0x4040e4]
test al, al
je 0x401d94
cmp dword [esp + 0x3c], ebx
jne 0x402290
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x1b]
push eax
lea edx, [esp + 0x20]
lea ecx, [esp + 0x6c]
call fcn.004015a5
test al, al
je 0x401d94
cmp dword [esp + 0x3c], ebx
jne 0x402290
cmp byte [esp + 0x13], bl
je 0x401d96
push 3
push ebx
push 0x1775
lea ecx, [esp + 0xb4]
call dword [0x404140]
lea eax, [esp + 0xa8]
push 0x401100
push eax
call dword [0x404120]
pop ecx
pop ecx
push ebx
lea ecx, [esp + 0xac]
call dword [0x4040a0]
test al, al
je 0x401d96
lea eax, [esp + 0xa8]
push eax
lea edx, [esp + 0x34]
lea ecx, [esp + 0x18]
call fcn.0040194e
xor ebx, ebx
test al, al
sete bl
jmp 0x401d96
lea eax, [esp + 0x760]
jmp 0x4021d0
push 3
push ebx
push 0x1777
jmp 0x402176