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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x586e37
sub esp, 0x54
lea eax, [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], eax
mov byte [esp + 8], 0x30
call fcn.0056feb0
movzx eax, byte [esp + 0xc]
test al, al
je 0x586b55
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x586bc7
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x21
lea ecx, [0x642d8a]
mov dword [eax], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x54
ret
mov esi, edi
mov edi, eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
mov ebx, edi
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x586da4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
lea eax, [esp + 0x58]
mov dword [esp], eax
lea ecx, [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.0056f730
movzx eax, byte [esp + 8]
test al, al
je 0x586d3e
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov ebx, dword [0x7f3200]
mov ebp, dword [0x7f3204]
xor eax, eax
jmp 0x586dd9
mov eax, 0
jge 0x586cac
mov ecx, dword [esp + 0x28]
inc ecx
mov edx, dword [esp + 0x2c]
cmp edx, ecx
jb 0x586c59
mov ebx, dword [esp + 0x40]
jmp 0x586c97
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5fe700]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x30]
mov dword [ebx + ecx*4 - 4], eax
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x3c]
jmp 0x586bbb
mov ecx, dword [esp + 0x20]
inc ecx
mov edx, dword [esp + 0x24]
cmp edx, ecx
jb 0x586cc1
mov ebp, dword [esp + 0x3c]
mov ebx, edx
jmp 0x586cf3
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x60a5a0]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [ecx + ecx*2]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov edi, ecx
mov ecx, dword [esp + 0x50]
mov dword [ebp + edx*4 - 8], esi
mov dword [ebp + edx*4 - 4], ecx
mov ecx, dword [0x81dcc0]
lea esi, [ebp + edx*4 - 0xc]
test ecx, ecx
jne 0x586d20
mov dword [ebp + edx*4 - 0xc], eax
jmp 0x586d2b
mov ecx, edi
mov edi, esi
call fcn.00462500
mov edi, ecx
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, ebx
mov ebx, dword [esp + 0x40]
jmp 0x586bbb
lea eax, [0x6072c0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x21
lea ecx, [0x642d8a]
mov dword [eax], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x68bbe4]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x54
ret
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x54
ret
lea ebx, [esi + 0x10]
inc eax
mov ebp, edi
cmp eax, ebp
jge 0x586c3f
mov esi, ebx
mov edi, ebp
mov ebp, dword [ebx]
mov dword [esp + 0x38], ebp
mov ebp, dword [ebx + 4]
cmp dword [ebx + 8], ecx
jne 0x586dd3
mov dword [esp + 0x44], ebp
mov dword [esp + 0x34], esi
xor ebx, ebx
jmp 0x586e0e
mov esi, dword [esp + 0x34]
jmp 0x586dd3
inc ebx
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
cmp ebx, ecx
jge 0x586e24
cmp ebx, ecx
jae 0x586e2f
mov esi, dword [edx + ebx*4]
lea ebp, [ebp + ebx*4]
cmp dword [ebp], esi
je 0x586e05
jmp 0x586dff
cmp eax, edi
mov eax, dword [esp + 0x38]
jmp 0x586c44
mov eax, ebx
call fcn.00462580
nop
call fcn.004610f0
jmp fcn.00586b10