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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59001e
sub esp, 0x68
lea edi, [esp + 0x78]
xor eax, eax
call fcn.00465fe9
lea edi, [esp + 0x4c]
call fcn.00465fe9
mov ecx, dword [esp + 0x70]
cmp ecx, 4
jl 0x58fce3
mov edx, dword [esp + 0x6c]
movzx ebx, byte [edx + 1]
movzx ebp, byte [edx]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x4c], bx
lea ebp, [ecx - 2]
cmp ebp, 1
jbe 0x590011
movzx eax, byte [edx + 3]
movzx ebp, byte [edx + 2]
shl ebp, 8
or eax, ebp
mov word [esp + 0x4e], ax
lea eax, [ebx - 1]
movzx eax, ax
mov ebx, eax
shl eax, 1
lea ebp, [eax + 4]
cmp ecx, ebp
jl 0x58fc23
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], eax
lea eax, [0x69bdc0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
xor ebp, ebp
jmp 0x58fd85
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp], ebp
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
lea eax, [0x704904]
mov dword [esp], eax
mov dword [esp + 4], 0x36
lea eax, [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x78]
lea esi, [esp + 0x4c]
call fcn.004664ba
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
add esp, 0x68
ret
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
lea eax, [0x704139]
mov dword [esp], eax
mov dword [esp + 4], 0x35
lea eax, [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x78]
lea esi, [esp + 0x4c]
call fcn.004664ba
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
add esp, 0x68
ret
mov word [ebp + esi*2], dx
lea ebp, [esi + 1]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
cmp ebp, eax
jge 0x58fdd1
mov esi, ebp
shl ebp, 1
lea edi, [ebp + 4]
cmp ebx, edi
jb 0x590008
sub edx, ebp
add edx, 0xfffffffc
neg edx
sar edx, 0x1f
and edi, edx
sub ebx, ebp
add ebx, 0xfffffffc
cmp ebx, 1
jbe 0x58fffc
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
movzx edx, byte [ecx + edi + 1]
movzx edi, byte [ecx + edi]
shl edi, 8
or edx, edi
cmp esi, ebx
jb 0x58fd75
jmp 0x58fff3
movzx eax, word [esp + 0x4e]
mov ebp, dword [esp + 0x24]
lea esi, [ebp + eax*4 + 4]
cmp ebx, esi
jl 0x58fe2b
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], esi
lea ecx, [0x6b3b80]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
xor esi, esi
jmp 0x58ff14
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp], esi
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
lea eax, [0x704904]
mov dword [esp], eax
mov dword [esp + 4], 0x36
lea eax, [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x78]
lea esi, [esp + 0x4c]
call fcn.004664ba
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
add esp, 0x68
ret
mov edx, dword [esp + 0x2c]
lea edx, [edx + esi*4 + 2]
mov ebx, dword [esp + 0x1c]
movzx ebp, byte [ecx + ebx + 3]
movzx ebx, byte [ecx + ebx + 2]
shl ebx, 8
or ebp, ebx
mov word [edx], bp
inc esi
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x74]
mov ebp, edi
cmp esi, eax
jge 0x58ff97
mov edi, ebx
lea ebx, [edx + esi*4]
lea edx, [edx + esi*4 + 4]
cmp ebp, edx
jb 0x58ffea
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x28], ebp
sub edi, ebx
lea ebp, [edi - 4]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
mov ebp, dword [esp + 0x70]
mov edi, ebp
sub ebp, ebx
mov ebx, dword [esp + 0x28]
cmp esi, ebx
jae 0x58ffe1
lea ebx, [ebp - 4]
cmp ebx, 3
jbe 0x58ffd5
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 0x2c]
lea ebx, [ebx + esi*4]
movzx ebp, byte [ecx + edx + 1]
movzx edx, byte [ecx + edx]
shl edx, 8
or ebp, edx
mov word [ebx], bp
mov edx, dword [esp + 0x28]
add edx, 0xfffffffa
cmp edx, 1
ja 0x58feeb
jmp 0x58ffc9
lea edi, [esp + 0x78]
lea esi, [esp + 0x4c]
call fcn.004664ba
mov eax, dword [esp + 0x20]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x68
ret
mov eax, 1
mov ecx, edx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, esi
mov ecx, ebx
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e60
mov eax, esi
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, edi
mov ecx, ebx
call fcn.00465e60
mov eax, 1
mov ecx, ebp
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.0058fb60