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

Disassembly:
mov eax, 0x41a6fa
call fcn.0041a1ac
sub esp, 0x78
push ebx
push ebp
push esi
push 0x3a
push dword [esp + 0xa0]
mov ebp, ecx
xor ebx, ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebx
call fcn.00411590
pop ecx
pop ecx
test eax, eax
je 0x409a63
inc eax
push eax
call fcn.004116bb
pop ecx
mov esi, eax
jmp 0x409a65
xor esi, esi
mov ecx, dword [0x428460]
mov dword [esp + 0x14], esi
mov eax, dword [ecx + 4]
mov edx, ecx
cmp byte [eax + 0xd], bl
jne 0x409a99
cmp dword [eax + 0x10], esi
jae 0x409a83
mov eax, dword [eax + 8]
jmp 0x409a87
mov edx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], bl
je 0x409a79
cmp edx, ecx
je 0x409a99
mov dword [esp + 0x18], edx
cmp esi, dword [edx + 0x10]
jae 0x409a9d
mov dword [esp + 0x18], ecx
lea eax, [esp + 0x18]
mov eax, dword [eax]
cmp eax, ecx
je 0x409ac7
add eax, 0x14
push eax
mov ecx, ebp
call fcn.00409846
and dword [esp + 0x8c], 0
mov dword [esp + 0x10], 1
jmp 0x409d9d
xor ecx, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
push edi
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ecx
mov byte [esp + 0x28], cl
mov dword [esp + 0x90], 1
mov edi, dword [esp + 0x9c]
mov eax, dword [edi]
cmp byte [eax], cl
je 0x409b20
mov edx, dword [edi]
mov al, byte [edx]
cmp al, 0x2f
je 0x409b1e
cmp al, 0x5c
je 0x409b1e
mov cl, al
lea eax, [edx + 1]
mov dword [edi], eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.00403917
mov eax, dword [edi]
cmp byte [eax], 0
jne 0x409afa
xor ecx, ecx
cmp dword [esp + 0x3c], 0x10
push ecx
push dword [esp + 0xa8]
lea edx, [esp + 0x30]
cmovae edx, dword [esp + 0x30]
lea ecx, [esp + 0x78]
call fcn.00409fad
pop ecx
pop ecx
mov byte [esp + 0x90], 2
push eax
lea ecx, [esp + 0x2c]
call fcn.004062e1
mov byte [esp + 0x90], 1
lea ecx, [esp + 0x70]
call fcn.00402b0a
call fcn.004099cd
cmp eax, 3
jae 0x409b84
push 0x4217d4
call dword [0x41b1a4]
test eax, eax
je 0x409b84
push eax
call dword [0x41b1a8]
push esi
call dword [0x41b0e0]
push eax
lea eax, [esp + 0x48]
push 0x4217e4
push eax
call fcn.0040ab59
add esp, 0x10
mov byte [esp + 0x90], 3
xor edi, edi
call fcn.004099cd
cmp eax, 3
jae 0x409bcb
push 0
push 1
push 1
push 0
call dword [0x41b06c]
test eax, eax
je 0x409bcb
push eax
call dword [0x41b030]
mov byte [esp + 0x12], 0
call fcn.004099cd
cmp eax, 3
jae 0x409bf0
push 0x4217f0
call dword [0x41b1a4]
test eax, eax
je 0x409bf0
push eax
call dword [0x41b1a8]
call fcn.00410fba
mov esi, eax
shl esi, 0x10
call fcn.00410fba
or eax, esi
push eax
lea eax, [esp + 0x5c]
push 0x421800
push eax
call fcn.0040ab59
mov byte [esp + 0x9c], 4
cmp dword [esp + 0x48], 0x10
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x34]
cmovae ecx, dword [esp + 0x34]
cmp dword [esp + 0x78], 0x10
push ecx
lea eax, [esp + 0x68]
cmovae eax, dword [esp + 0x68]
push eax
push esi
lea eax, [esp + 0x88]
push 0x421808
push eax
call fcn.0040ab59
add esp, 0x20
mov byte [esp + 0x90], 5
or ebx, 2
lea edx, [esp + 0x12]
mov ecx, eax
mov dword [esp + 0x14], ebx
call fcn.0040a925
test al, al
je 0x409c7b
cmp byte [esp + 0x12], 0
mov byte [esp + 0x13], 1
je 0x409c80
mov byte [esp + 0x13], 0
mov dword [esp + 0x90], 4
test bl, 2
je 0x409ca0
and ebx, 0xfffffffd
lea ecx, [esp + 0x70]
mov dword [esp + 0x14], ebx
call fcn.00402b0a
cmp byte [esp + 0x13], 0
jne 0x409cc7
mov byte [esp + 0x90], 3
lea ecx, [esp + 0x58]
call fcn.00402b0a
inc edi
cmp edi, 0x200
jl 0x409ba8
jmp 0x409cea
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x4c]
call fcn.00402be9
mov byte [esp + 0x90], 3
lea ecx, [esp + 0x58]
call fcn.00402b0a
lea eax, [esp + 0x18]
push eax
mov ecx, 0x428460
call fcn.0040c62a
lea ecx, [esp + 0x40]
pop edi
cmp eax, ecx
je 0x409d0e
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.00402be9
cmp dword [esp + 0x38], 0x10
lea ecx, [esp + 0x24]
cmovae ecx, dword [esp + 0x24]
cmp dword [esp + 0x50], 0x10
push ecx
lea eax, [esp + 0x40]
cmovae eax, dword [esp + 0x40]
push eax
push esi
lea eax, [esp + 0x78]
push 0x421808
push eax
call fcn.0040ab59
add esp, 0x14
mov byte [esp + 0x8c], 6
push eax
mov ecx, 0x428454
call fcn.004086a2
mov byte [esp + 0x8c], 3
lea ecx, [esp + 0x6c]
call fcn.00402b0a
lea eax, [esp + 0x24]
push eax
lea edx, [esp + 0x40]
mov ecx, ebp
call fcn.0040d47c
or ebx, 1
pop ecx
mov dword [esp + 0x10], ebx
mov byte [esp + 0x8c], 1
lea ecx, [esp + 0x3c]
call fcn.00402b0a
mov byte [esp + 0x8c], 0
lea ecx, [esp + 0x24]
call fcn.00402b0a
mov ecx, dword [esp + 0x84]
pop esi
mov eax, ebp
pop ebp
pop ebx
mov dword fs:[0], ecx
leave
ret