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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x624033
sub esp, 0x6c
mov edx, dword [esp + 0x70]
mov ebx, dword [edx + 0x2c]
test ebx, ebx
je 0x623f50
mov ebp, dword [esp + 0x78]
cmp ebp, 6
jle 0x623f1a
lea ecx, [ebp - 4]
cmp ecx, 1
jbe 0x624028
mov eax, dword [esp + 0x74]
movzx ecx, word [eax + 4]
mov word [esp + 0x1e], cx
cmp cx, 0xf1
jne 0x623ed9
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xc], ecx
call fcn.0061bab0
mov eax, dword [esp + 0x70]
lea ecx, [eax + 0xa0]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x5c], ebx
mov dword [esp], ecx
call fcn.00465730
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x74]
add edx, dword [ecx + 0x8c]
mov dword [esp + 0x20], edx
nop
mov ebx, dword [esp + 0x74]
cmp word [ebx + 4], 0xf1
jne 0x623ed2
mov ebp, dword [esp + 0x78]
cmp ebp, 8
jb 0x62401c
movzx edx, byte [eax + 0x78]
mov dword [esp], ecx
mov ecx, dword [esp + 0x7c]
add ecx, 0xfffffff8
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 8
add ecx, ebx
mov dword [esp + 4], ecx
lea ecx, [ebp - 8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov byte [esp + 0x10], 1
mov byte [esp + 0x11], dl
call fcn.0061e880
mov eax, dword [esp + 0x14]
test eax, eax
setne al
movzx eax, al
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jle 0x623ec3
mov edx, dword [esp + 0x64]
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor edx, edx
mov dword [esp + 0x34], edx
xor edx, edx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x64]
jmp 0x623b3f
mov edx, dword [esp + 0x64]
add edx, 0xc
mov ebx, eax
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x64], edx
mov ecx, dword [edx]
mov dword [esp + 0x60], ecx
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x4c], edx
cmp ebx, 2
jl 0x623eb0
nop
movzx edx, word [ecx]
movzx ecx, dx
cmp ecx, ebx
jg 0x623b75
cmp dx, 2
jae 0x623e0b
add esi, 1
adc edi, 0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.00409530
mov eax, dword [esp + 0xc]
lea ecx, [0x9d3a90]
mov dword [esp], ecx
lea edx, [0x709c00]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00465d70
mov eax, dword [esp + 0x58]
inc eax
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jg 0x623b26
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], esi
mov edi, dword [esp + 0x70]
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.0061d3c0
mov eax, dword [esp + 4]
test eax, eax
jg 0x623dfa
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x74]
add edx, dword [ecx + 0x8c]
mov ecx, dword [esp + 0x20]
cmp ecx, edx
jg 0x623ded
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.00465af0
movzx eax, word [esp + 0x1e]
cmp ax, 0xf2
sete al
movzx eax, al
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], eax
mov edi, dword [0x9d2358]
test byte [edi], al
add edi, 0x48
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.004012c0
mov eax, dword [0x9d2358]
test byte [eax], al
add eax, 0x68
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.004012c0
mov eax, dword [esp + 0x3c]
test eax, eax
seta cl
and ecx, 1
test cl, cl
jne 0x623dc6
mov eax, dword [esp + 0x30]
test eax, eax
seta cl
mov edx, dword [esp + 0x2c]
test edx, edx
seta bl
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or ecx, ebp
test cl, cl
jne 0x623da6
mov eax, dword [esp + 0x40]
test eax, eax
seta cl
mov edx, dword [esp + 0x44]
test edx, edx
sete bl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, ecx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x623d86
mov eax, dword [esp + 0x34]
test eax, eax
seta cl
mov edx, dword [esp + 0x38]
test edx, edx
sete bl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, ecx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x623d66
add esp, 0x6c
ret
mov ecx, dword [0x9d2358]
test byte [ecx], al
add ecx, 0xa0
mov dword [esp], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.004012c0
jmp 0x623d62
mov ecx, dword [0x9d2358]
test byte [ecx], al
add ecx, 0xa8
mov dword [esp], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.004012c0
jmp 0x623d3f
mov ecx, dword [0x9d2358]
test byte [ecx], al
add ecx, 0x40
mov dword [esp], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
call fcn.004012c0
jmp 0x623d1c
mov ecx, dword [0x9d2358]
test byte [ecx], al
add ecx, 0xb0
mov dword [esp], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call fcn.004012c0
jmp 0x623cf5
mov dword [esp], eax
call fcn.00623940
jmp 0x623c4b
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.006238f0
jmp 0x623c2f
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 4]
movzx ebx, byte [eax + 0x78]
mov dword [esp], edx
mov edx, dword [esp + 0x4c]
lea ebp, [edx - 2]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
mov edi, dword [esp + 0x60]
add ebp, edi
mov dword [esp + 4], ebp
add ecx, 0xfffffffe
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], bl
call fcn.0061e880
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x623e96
mov ecx, dword [esp + 0x34]
add ecx, 1
mov edx, dword [esp + 0x38]
adc edx, 0
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov ebp, ebx
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x48]
jmp 0x623b83
mov ebp, dword [esp + 0x54]
add ebp, 1
mov ebx, dword [esp + 0x50]
adc ebx, 0
mov eax, ebp
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
jmp 0x623e83
add esi, 1
adc edi, 0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
jmp 0x623b83
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x623bfc
xor eax, eax
jmp 0x623afc
cmp cx, 0xf2
je 0x623a49
mov eax, dword [0x9d2358]
test byte [eax], al
add eax, 0x30
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.004012c0
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x623c7e
mov eax, dword [0x9d2358]
test byte [eax], al
add eax, 0x30
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.004012c0
xor eax, eax
xor edx, edx
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x623c7e
lea eax, [edx + 0xa0]
mov dword [esp + 0x68], eax
mov dword [esp], eax
call fcn.00465730
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
nop
movzx edx, byte [eax + 0x78]
mov ebx, dword [ecx + 0x74]
add ebx, dword [ecx + 0x8c]
mov dword [esp + 0x24], ebx
mov dword [esp], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0xc], ebp
mov byte [esp + 0x10], 1
mov byte [esp + 0x11], dl
call fcn.0061e880
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 4]
mov dword [esp], edx
call fcn.0061d3c0
mov eax, dword [esp + 4]
test eax, eax
jg 0x62400e
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x74]
add edx, dword [ecx + 0x8c]
mov ecx, dword [esp + 0x24]
cmp ecx, edx
jg 0x624004
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.00465af0
mov eax, dword [esp + 0x28]
test eax, eax
setne al
movzx ecx, al
xor eax, eax
xor edx, edx
xor ebp, ebp
xor ebx, ebx
xor esi, esi
xor edi, edi
jmp 0x623c7e
mov dword [esp], eax
call fcn.00623940
jmp 0x623fdb
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.006238f0
jmp 0x623fc3
mov eax, 8
mov ecx, ebp
call fcn.0045f550
mov eax, 1
call fcn.0045f4f0
nop
call fcn.0045df10
jmp fcn.006239f0