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

Disassembly:
push 0xffffffffffffffff
push 0x489124
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x4b2288]
xor eax, esp
mov dword [esp + 0x8c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4b2288]
xor eax, esp
push eax
lea eax, [esp + 0xa4]
mov dword fs:[0], eax
mov eax, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb4]
xor edi, edi
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
mov dword [esp + 0x34], edi
mov ebx, 1
push ebx
mov esi, 0xf
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], edi
push 0x490d04
mov dword [esp + 0xd4], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x50], eax
mov byte [ecx + 4], 0
call fcn.00404640
mov ecx, dword [esp + 0xd8]
push ecx
lea ecx, [esp + 0x98]
call fcn.0040fff0
push edi
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x14], edi
push 0x48fb7c
mov ecx, ebp
mov dword [esp + 0xb4], ebx
mov byte [ebp + 4], 0
call fcn.00404640
mov dword [esp + 0x14], ebx
xor ebx, ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x78]
test esi, esi
jne 0x4143f3
xor eax, eax
jmp 0x41440c
mov ecx, dword [esp + 0x7c]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jge 0x4146b2
push 0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 1
mov ebp, 0xf
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], 0
push 0x490d00
mov byte [ecx + 4], 0
call fcn.00404640
mov esi, dword [esp + 0x98]
test esi, esi
je 0x414469
mov ecx, dword [esp + 0x9c]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x414475
call fcn.00459b57
mov esi, dword [esp + 0x98]
mov edi, 0x10
cmp dword [esi + ebx + 0x18], edi
jb 0x414486
mov esi, dword [esi + ebx + 4]
jmp 0x41448a
lea esi, [esi + ebx + 4]
push esi
lea ecx, [esp + 0x6c]
call fcn.0040fff0
mov esi, dword [esp + 0x28]
mov eax, esi
mov byte [esp + 0xac], 2
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4144b6
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x34]
call fcn.00404640
mov esi, dword [esp + 0x4c]
or dword [esp + 0x14], 2
test esi, esi
je 0x4144f4
mov ecx, dword [esp + 0x50]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4144fd
call fcn.00459b57
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x44], edi
mov edx, dword [esp + 0x30]
jae 0x41450b
lea edx, [esp + 0x30]
mov edi, dword [esi + 0x14]
mov eax, edi
cmp eax, edi
jae 0x414514
mov ebp, dword [esp + 0x40]
cmp edi, ebp
mov ecx, edi
jb 0x414520
mov ecx, ebp
cmp dword [esi + 0x18], 0x10
jb 0x41452b
mov eax, dword [esi + 4]
jmp 0x41452e
lea eax, [esi + 4]
push ecx
push edx
push eax
call fcn.00402ca0
add esp, 0xc
test eax, eax
jne 0x41456c
cmp edi, ebp
jb 0x41456c
cmp edi, ebp
setne al
test eax, eax
jne 0x41456c
mov ecx, dword [esp + 0x50]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jle 0x41456c
mov bl, 1
jmp 0x41456e
xor bl, bl
test byte [esp + 0x14], 2
mov dword [esp + 0xac], 2
mov edi, 0x10
je 0x4145a1
and dword [esp + 0x14], 0xfffffffd
cmp dword [esp + 0x44], edi
jb 0x4145a1
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00418702
mov esi, dword [esp + 0x50]
add esp, 4
test bl, bl
jne 0x41461a
cmp dword [esp + 0x70], edi
mov byte [esp + 0xac], 1
jb 0x4145c4
mov edx, dword [esp + 0x5c]
push edx
call fcn.00418702
mov esi, dword [esp + 0x50]
add esp, 4
test esi, esi
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], 0
mov byte [esp + 0x5c], 0
je 0x4145ff
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
push eax
lea ecx, [esp + 0x4c]
push ecx
push edx
push esi
call fcn.0040b820
mov eax, dword [esp + 0x5c]
push eax
call fcn.00418702
add esp, 0x14
add dword [esp + 0x20], 1
add dword [esp + 0x1c], 0x1c
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x4143e7
test esi, esi
je 0x41463c
mov ecx, dword [esp + 0x50]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
ja 0x414645
call fcn.00459b57
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
lea eax, [esi + 0x1c]
push 0
push eax
call fcn.00404330
cmp dword [esp + 0x70], edi
jb 0x414669
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.00418702
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], 0
mov byte [esp + 0x5c], 0
je 0x4146a8
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x4c]
push ecx
push edx
push eax
call fcn.0040b820
mov eax, dword [esp + 0x5c]
push eax
call fcn.00418702
add esp, 0x14
mov esi, dword [esp + 0x78]
mov ebp, dword [esp + 0x18]
jmp 0x4146b7
mov edi, 0x10
cmp dword [esp + 0x9c], edi
jb 0x4146d4
mov ecx, dword [esp + 0x88]
push ecx
call fcn.00418702
mov esi, dword [esp + 0x7c]
add esp, 4
test esi, esi
mov dword [esp + 0x9c], 0xf
mov dword [esp + 0x98], 0
mov byte [esp + 0x88], 0
je 0x41473a
mov edi, dword [esp + 0x7c]
cmp esi, edi
je 0x414731
add esi, 0x18
cmp dword [esi], 0x10
jb 0x414712
mov edx, dword [esi - 0x14]
push edx
call fcn.00418702
add esp, 4
mov dword [esi], 0xf
mov dword [esi - 4], 0
mov byte [esi - 0x14], 0
add esi, 0x1c
lea eax, [esi - 0x18]
cmp eax, edi
jne 0x414701
mov esi, dword [esp + 0x78]
push esi
call fcn.00418702
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0xa4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.00459426
add esp, 0x9c
ret 0xc