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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x58baf9
sub esp, 0x74
mov eax, dword [esp + 0x88]
cmp eax, 0x102
jge 0x58baef
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x78]
test byte [ecx], al
mov edx, dword [esp + 0x7c]
lea ebx, [edx + eax]
mov dword [esp + 0x24], ebx
mov ebp, dword [ecx + 0xa003c]
mov dword [esp + 0x6c], ebp
mov esi, dword [ecx + 0xa0044]
mov dword [esp + 0x28], esi
cmp ebx, esi
ja 0x58bae8
mov edi, dword [ecx + 0xc]
cmp edi, eax
jge 0x58bae1
mov dword [esp + 0x38], edi
mov edi, dword [ecx + 0x10]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x84]
cmp ecx, eax
jl 0x58b89f
sar edi, 2
lea eax, [edx + ecx]
cmp eax, ebx
jae 0x58bada
movzx eax, byte [ebp + eax]
cmp edx, ebx
ja 0x58bad3
sub esi, edx
mov dword [esp + 0x30], esi
dec esi
sar esi, 0x1f
xor esi, 0xffffffff
and esi, edx
add esi, ebp
mov dword [esp + 0x70], esi
add edx, 0xffff8000
mov dword [esp + 0x3c], edx
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x80]
mov dword [esp + 0x40], eax
movzx eax, byte [esp + 0x64]
mov byte [esp + 0x5c], al
xor eax, eax
mov byte [esp + 0x23], al
mov dword [esp + 0x54], ecx
xor ecx, ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x54]
movzx eax, byte [esp + 0x64]
mov dword [esp + 0x34], edi
mov byte [esp + 0x22], al
mov dword [esp + 0x44], ecx
test edi, edi
jle 0x58bac5
mov esi, dword [esp + 0x40]
lea edi, [ecx + esi]
cmp edi, ebx
jae 0x58babe
movzx edi, byte [ebp + edi]
xchg edi, ebx
cmp bl, al
xchg edi, ebx
je 0x58b9a1
movzx edi, byte [esp + 0x23]
cmp edx, esi
je 0x58b99b
and esi, 0x7fff
mov ebp, dword [esp + 0x78]
mov esi, dword [ebp + esi*4 + 0x80034]
mov ebp, dword [ebp + 0xa0034]
sub esi, ebp
cmp esi, edx
jl 0x58b97c
test esi, esi
jl 0x58b97c
mov ebp, dword [esp + 0x34]
dec ebp
mov dword [esp + 0x40], esi
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
mov esi, dword [esp + 0x70]
mov edi, ebp
mov ebp, dword [esp + 0x6c]
jmp 0x58b907
mov eax, dword [esp + 0x48]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
xchg edi, eax
mov byte [esp + 0x94], al
xchg edi, eax
add esp, 0x74
ret
mov eax, dword [esp + 0x48]
jmp 0x58b980
cmp esi, ebx
ja 0x58bab7
mov edi, dword [esp + 0x28]
sub edi, esi
lea edx, [edi - 1]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, esi
add edx, ebp
mov dword [esp], edx
sub ebx, esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], edi
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
call fcn.0058bc90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
jle 0x58ba98
cmp eax, 4
jle 0x58ba69
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x40]
mov ebx, ecx
sub ecx, edx
mov ebp, dword [esp + 0x38]
cmp eax, ebp
jge 0x58ba59
lea esi, [ebx + eax]
mov edi, dword [esp + 0x24]
cmp esi, edi
jae 0x58ba52
mov ebp, dword [esp + 0x6c]
movzx esi, byte [ebp + esi]
mov dword [esp + 0x4c], eax
mov eax, 1
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x4c]
mov ebx, edi
movzx edi, byte [esp + 0x23]
mov dword [esp + 0x48], ecx
mov ecx, eax
mov eax, esi
mov esi, edx
mov edx, dword [esp + 0x3c]
jmp 0x58b93c
call fcn.00424680
ud2
mov edi, 1
mov edx, ecx
mov ecx, eax
mov eax, edx
jmp 0x58b980
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x40]
mov ebp, edx
sub edx, ebx
cmp edx, 0x1000
jle 0x58b9ff
mov edx, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x24]
movzx esi, byte [esp + 0x22]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x58ba38
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x24]
movzx esi, byte [esp + 0x22]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x58ba38
call fcn.004246e0
ud2
call fcn.00424680
ud2
mov eax, dword [esp + 0x48]
movzx edi, byte [esp + 0x23]
jmp 0x58b980
call fcn.004246e0
ud2
call fcn.00424680
ud2
mov edi, eax
jmp 0x58b887
call fcn.004246e0
ud2
mov eax, 0x102
jmp 0x58b84b
call fcn.004486b0
jmp fcn.0058b820