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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5f0414
sub esp, 0x68
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx + 0x30]
test ebx, ebx
je 0x5f031c
mov ebx, dword [esp + 0x74]
cmp ebx, 6
jle 0x5f02e6
lea ecx, [ebx - 4]
cmp ecx, 1
jbe 0x5f0409
mov eax, dword [esp + 0x70]
movzx ecx, word [eax + 4]
mov word [esp + 0x1e], cx
cmp cx, 0xf1
jne 0x5f02a5
lea eax, [edx + 0xe0]
mov dword [esp + 0x64], eax
mov dword [esp], eax
call fcn.00462cc0
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x30]
mov dword [esp], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0xc], ebx
call fcn.005e7700
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
nop
mov edx, dword [esp + 0x70]
cmp word [edx + 4], 0xf1
jne 0x5f029e
mov ebx, dword [esp + 0x74]
cmp ebx, 8
jb 0x5f03fd
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 8]
movzx ebp, byte [eax + 0x6c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x78]
add ecx, 0xfffffff8
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 8
add ecx, edx
mov dword [esp + 4], ecx
lea ecx, [ebx - 8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov byte [esp + 0x10], 1
xchg ebp, eax
mov byte [esp + 0x11], al
xchg ebp, eax
call fcn.005ea950
mov eax, dword [esp + 0x14]
test eax, eax
setne al
movzx eax, al
mov ebx, dword [esp + 0x24]
test ebx, ebx
jle 0x5f028f
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x58]
xor ecx, ecx
xor edx, edx
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor ecx, ecx
jmp 0x5efed5
mov edx, dword [esp + 0x60]
lea esi, [edx + 0xc]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x40]
mov ebx, ecx
mov ebp, edx
mov ecx, eax
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x60], esi
mov dword [esp + 0x54], ecx
mov ebx, dword [esi + 8]
mov dword [esp + 0x48], ebx
mov ebp, dword [esi + 4]
mov dword [esp + 0x44], ebp
mov esi, dword [esi]
mov dword [esp + 0x5c], esi
cmp ebp, 2
jl 0x5f026c
nop
movzx esi, word [esi]
movzx ebx, si
cmp ebx, ebp
jg 0x5f0251
cmp si, 2
jb 0x5f0251
mov esi, dword [esp + 0x48]
cmp ebx, esi
ja 0x5f03f4
cmp ebx, 2
jb 0x5f03e8
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 8]
movzx edx, byte [eax + 0x6c]
mov dword [esp], ecx
lea ecx, [esi - 2]
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
mov edi, dword [esp + 0x5c]
add ecx, edi
mov dword [esp + 4], ecx
lea ecx, [ebx - 2]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], dl
call fcn.005ea950
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5f0234
mov eax, dword [esp + 0x30]
add eax, 1
mov ecx, dword [esp + 0x34]
adc ecx, 0
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0x5c]
mov dword [esp], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 8], edi
call fcn.00408810
mov eax, dword [esp + 0xc]
lea ecx, [0xe7b5a0]
mov dword [esp], ecx
lea edx, [0x909bc0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004632e0
mov eax, dword [esp + 0x54]
inc eax
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jl 0x5efeac
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ebx
mov edi, dword [esp + 0x6c]
mov eax, dword [edi + 8]
mov dword [esp], eax
call fcn.005e9340
mov eax, dword [esp + 4]
test eax, eax
jg 0x5f0223
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x74]
add edx, dword [ecx + 0x8c]
cmp dword [ecx + 0x30], edx
jle 0x5f006a
cmp dword [ecx + 0x38], edx
jg 0x5f0212
mov dword [esp], eax
call fcn.005ee220
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.00463090
movzx eax, word [esp + 0x1e]
cmp ax, 0xf2
sete al
movzx eax, al
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
mov edi, dword [0xe79a50]
test byte [edi], al
add edi, 0x48
mov dword [esp], edi
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call fcn.0045d5d0
mov eax, dword [0xe79a50]
test byte [eax], al
add eax, 0x68
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
sar eax, 0x1f
mov dword [esp + 8], eax
call fcn.0045d5d0
mov eax, dword [esp + 0x38]
test eax, eax
seta cl
and ecx, 1
test cl, cl
jne 0x5f01eb
mov eax, dword [esp + 0x28]
test eax, eax
seta cl
mov edx, dword [esp + 0x2c]
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 0x5f01cb
mov eax, dword [esp + 0x3c]
test eax, eax
seta cl
mov edx, dword [esp + 0x40]
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 0x5f01ab
mov eax, dword [esp + 0x30]
test eax, eax
seta cl
mov edx, dword [esp + 0x34]
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 0x5f018b
add esp, 0x68
ret
mov ecx, dword [0xe79a50]
test byte [ecx], al
add ecx, 0xa0
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045d5d0
jmp 0x5f0187
mov ecx, dword [0xe79a50]
test byte [ecx], al
add ecx, 0xa8
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045d5d0
jmp 0x5f0164
mov ecx, dword [0xe79a50]
test byte [ecx], al
add ecx, 0x40
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045d5d0
jmp 0x5f0141
mov ecx, dword [0xe79a50]
test byte [ecx], al
add ecx, 0xb0
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.0045d5d0
jmp 0x5f011a
mov dword [esp], eax
call fcn.005efaa0
mov eax, dword [esp + 0x6c]
jmp 0x5f006a
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.005efa50
jmp 0x5f004c
mov ebp, dword [esp + 0x28]
add ebp, 1
mov edx, dword [esp + 0x2c]
adc edx, 0
mov ebx, ebp
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
jmp 0x5eff94
add edi, 1
mov esi, dword [esp + 0x40]
adc esi, 0
mov ebx, eax
mov ebp, edi
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
jmp 0x5eff9c
add edi, 1
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x40]
adc edi, 0
mov ebx, eax
mov ebp, dword [esp + 0x3c]
mov esi, edi
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
jmp 0x5eff9c
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x5f0019
xor eax, eax
jmp 0x5efe7c
cmp cx, 0xf2
je 0x5efdc9
mov eax, dword [0xe79a50]
test byte [eax], al
add eax, 0x30
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call fcn.0045d5d0
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x5f00a5
mov eax, dword [0xe79a50]
test byte [eax], al
add eax, 0x30
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call fcn.0045d5d0
xor eax, eax
xor edx, edx
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
xor edi, edi
xor esi, esi
jmp 0x5f00a5
lea eax, [edx + 0xe0]
mov dword [esp + 0x64], eax
mov dword [esp], eax
call fcn.00462cc0
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 8]
movzx edx, byte [eax + 0x6c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0xc], ebx
mov byte [esp + 0x10], 1
mov byte [esp + 0x11], dl
call fcn.005ea950
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 8]
mov dword [esp], edx
call fcn.005e9340
mov eax, dword [esp + 4]
test eax, eax
jg 0x5f03da
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x74]
add edx, dword [ecx + 0x8c]
cmp dword [ecx + 0x30], edx
jle 0x5f039b
cmp dword [ecx + 0x38], edx
jg 0x5f03cc
mov dword [esp], eax
call fcn.005ee220
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.00463090
mov eax, dword [esp + 0x20]
test eax, eax
setne al
movzx edx, al
xor eax, eax
xor ecx, ecx
xor ebp, ebp
xor ebx, ebx
xor esi, esi
xor edi, edi
jmp 0x5f00a5
mov dword [esp], eax
call fcn.005efaa0
mov eax, dword [esp + 0x6c]
jmp 0x5f039b
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.005efa50
jmp 0x5f0381
mov eax, 2
mov ecx, ebx
call fcn.00456b90
mov ecx, ebx
mov edx, esi
call fcn.00456b70
mov eax, 8
mov ecx, ebx
call fcn.00456b90
mov eax, 1
call fcn.00456b30
nop
call fcn.00455270
jmp fcn.005efd70