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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5f0f90
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x64c874]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
mov eax, dword [0x64c874]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x28], ecx
mov ecx, dword [esi]
push eax
push ecx
call fcn.00585b60
push 0
push 0x3938700
call fcn.004b2860
mov edi, dword [0x65ae48]
mov ecx, dword [esi + 0x50]
add esp, 8
mov ebx, edi
sub ebx, ecx
mov ecx, dword [0x65ae4c]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x54]
sbb ecx, eax
cmp ecx, edx
jl 0x5864b1
jg 0x586449
cmp ebx, dword [esp + 0x14]
jbe 0x5864b1
mov dword [esi + 0x50], edi
mov edx, dword [0x65ae4c]
xor edi, edi
mov dword [esi + 0x54], edx
mov dword [esp + 0x14], edi
call fcn.005d95d0
lea edx, [esp + 0x14]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x18], eax
call fcn.005836b0
push eax
lea eax, [esi + 0x40]
mov dword [esp + 0x7c], edi
call fcn.00586ca0
mov dword [esp + 0x78], 0xffffffff
mov eax, dword [esp + 0x40]
cmp eax, edi
je 0x586497
push eax
call fcn.0059b877
add esp, 4
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
test eax, fcn.00489120
je 0x5864b1
mov edi, dword [esp + 0x20]
mov eax, edi
jmp 0x586767
mov eax, dword [esi + 0x44]
test eax, eax
lea ebx, [esi + 0x40]
je 0x5864a6
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x5864a6
mov eax, dword [ebx + 4]
test eax, eax
je 0x5864f2
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x5864f7
call fcn.005b8b18
mov ecx, dword [ebx + 4]
mov edi, ecx
cmp edi, dword [ebx + 8]
mov dword [esp + 0x24], ecx
jbe 0x58650a
call fcn.005b8b18
mov eax, dword [ebx + 8]
cmp dword [ebx + 4], eax
mov dword [esp + 0x14], eax
jbe 0x586520
call fcn.005b8b18
jmp 0x586520
cmp ebx, ebx
je 0x586529
call fcn.005b8b18
cmp edi, dword [esp + 0x14]
je 0x5865b9
cmp edi, dword [ebx + 8]
jb 0x58653d
call fcn.005b8b18
mov ecx, edi
call fcn.00564dc0
test al, al
je 0x58656b
cmp edi, dword [ebx + 8]
jb 0x586552
call fcn.005b8b18
mov edx, dword [esp + 0x28]
cmp dword [edx], 0
sete al
cmp dword [edi], 0
sete cl
cmp cl, al
jne 0x58656b
cmp edi, dword [ebx + 8]
jmp 0x586596
cmp edi, dword [ebx + 8]
jb 0x58657f
call fcn.005b8b18
cmp edi, dword [ebx + 8]
jb 0x58657f
call fcn.005b8b18
mov ecx, dword [esp + 0x28]
lea ebx, [edi + 0x1c]
push edi
call fcn.00582f60
add esp, 4
test al, al
je 0x5865a1
cmp edi, dword [esi + 0x48]
jb 0x58659d
call fcn.005b8b18
mov dword [esp + 0x24], edi
cmp edi, dword [esi + 0x48]
lea ebx, [esi + 0x40]
jb 0x5865ae
call fcn.005b8b18
add edi, 0x98
jmp 0x586520
mov edx, dword [0x65b698]
or edx, dword [0x65b69c]
jne 0x5865d2
push 0x65b698
call dword [0x5fd22c]
mov eax, dword [0x65b69c]
mov ecx, dword [0x65b698]
push 0
push 0xea60
push eax
push ecx
call fcn.005c0590
push 0
push 0x3e8
push edx
push eax
call fcn.005c05d0
mov ebx, dword [0x65ae48]
mov ecx, dword [esi + 0x68]
mov edi, ebx
sub edi, ecx
mov ecx, dword [0x65ae4c]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x6c]
sbb ecx, eax
cmp ecx, edx
jl 0x586692
jg 0x586621
cmp edi, dword [esp + 0x14]
jbe 0x586692
mov dword [esi + 0x68], ebx
mov edx, dword [0x65ae4c]
xor edi, edi
mov dword [esi + 0x6c], edx
mov dword [esp + 0x14], edi
call fcn.005d95d0
lea edx, [esp + 0x14]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], eax
call fcn.00583270
push eax
lea eax, [esi + 0x58]
mov dword [esp + 0x7c], 1
call fcn.00586e10
mov dword [esp + 0x78], 0xffffffff
mov eax, dword [esp + 0x30]
cmp eax, edi
je 0x586673
push eax
call fcn.0059b877
add esp, 4
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
test eax, fcn.00489120
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
jne 0x586761
mov edi, dword [esi + 0x5c]
add esi, 0x58
cmp edi, dword [esi + 8]
jbe 0x5866a2
call fcn.005b8b18
mov ebx, dword [esi + 8]
cmp dword [esi + 4], ebx
jbe 0x5866b0
call fcn.005b8b18
nop
cmp esi, esi
je 0x5866b9
call fcn.005b8b18
cmp edi, ebx
je 0x586761
cmp edi, dword [esi + 8]
jb 0x5866cb
call fcn.005b8b18
mov ecx, dword [esp + 0x28]
cmp dword [ecx], 0
sete dl
cmp dword [edi], 0
sete al
cmp al, dl
jne 0x58671c
cmp edi, dword [esi + 8]
jb 0x5866e9
call fcn.005b8b18
mov eax, dword [esp + 0x24]
lea ecx, [edi + 0x38]
add eax, 0x54
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x586713
test dl, dl
je 0x58670f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x586713
add eax, 2
add ecx, 2
test dl, dl
jne 0x5866f3
xor eax, eax
jmp 0x586718
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x58672b
cmp edi, dword [esi + 8]
jb 0x586726
call fcn.005b8b18
add edi, 0x7c
jmp 0x5866b0
cmp word [esp + 0x4c], 2
jne 0x58673a
mov ecx, dword [esp + 0x4e]
push ecx
jmp 0x58673f
mov edx, dword [esp + 0x4e]
push edx
call dword [0x5fd71c]
cmp edi, dword [esi + 8]
movzx ebx, ax
jb 0x586752
call fcn.005b8b18
mov esi, dword [esp + 0x20]
mov ecx, ebx
call fcn.004a8fa0
mov eax, esi
jmp 0x586772
mov eax, dword [esp + 0x20]
mov edi, eax
mov ecx, 7
lea esi, [esp + 0x4c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret 8