Function at 0x5983d0
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5d0815
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x61a654]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x61a654]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
mov edi, dword [esp + 0x98]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], 0
lea ecx, [esp + 0x17]
push ecx
lea edx, [esp + 0x1b]
mov esi, 1
push edx
mov ecx, ebp
mov dword [esp + 0x90], esi
call fcn.0059aa60
mov dword [esp + 0x30], esi
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jbe 0x59845c
call fcn.0059ec50
mov eax, dword [edi]
lea ecx, [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x38]
push edx
mov dword [esp + 0x20], eax
mov ebx, esi
call fcn.0059a620
lea ebx, [ebx]
mov esi, dword [edi + 0x10]
cmp dword [edi + 0xc], esi
jbe 0x59848d
call fcn.0059ec50
mov ecx, dword [esp + 0x18]
mov eax, dword [edi]
test ecx, ecx
je 0x59849b
cmp ecx, eax
je 0x5984a4
call fcn.0059ec50
mov ecx, dword [esp + 0x18]
cmp ebx, esi
je 0x59899a
test ecx, ecx
jne 0x598501
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x5984c1
call fcn.0059ec50
cmp dword [esp + 0xb4], 0x10
mov edx, dword [esp + 0xa0]
jae 0x5984d9
lea edx, [esp + 0xa0]
mov esi, dword [ebx + 0x14]
mov eax, esi
cmp eax, esi
jae 0x5984e2
mov ecx, esi
cmp esi, dword [esp + 0xb0]
jb 0x5984f4
mov ecx, dword [esp + 0xb0]
cmp dword [ebx + 0x18], 0x10
lea edi, [ebx + 4]
jb 0x598505
mov eax, dword [edi]
jmp 0x598507
mov eax, dword [ecx]
jmp 0x5984b7
mov eax, edi
push ecx
push edx
push eax
call fcn.00403fd0
mov ebp, dword [esp + 0xbc]
add esp, 0xc
test eax, eax
jne 0x59852e
cmp esi, ebp
jb 0x59852e
cmp esi, ebp
setne al
test eax, eax
je 0x5985bd
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x598589
call fcn.0059ec50
mov ebp, dword [esp + 0xb0]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x598555
call fcn.0059ec50
mov ebp, dword [esp + 0xb0]
cmp dword [esp + 0xb4], 0x10
mov edx, dword [esp + 0xa0]
jae 0x59856d
lea edx, [esp + 0xa0]
mov esi, dword [ebx + 0x30]
mov eax, esi
cmp eax, esi
jae 0x598576
mov ecx, esi
cmp esi, ebp
jb 0x59857e
mov ecx, ebp
cmp dword [ebx + 0x34], 0x10
jb 0x59858d
mov eax, dword [ebx + 0x20]
jmp 0x598590
mov eax, dword [eax]
jmp 0x598544
lea eax, [ebx + 0x20]
push ecx
push edx
push eax
call fcn.00403fd0
add esp, 0xc
test eax, eax
jne 0x59891e
cmp esi, ebp
jb 0x59891e
cmp esi, dword [esp + 0xb0]
setne al
test eax, eax
jne 0x59891e
mov ebp, dword [esp + 0x18]
mov eax, 0xf
xor esi, esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], esi
mov byte [esp + 0x64], 0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], esi
mov byte [esp + 0x48], 0
mov byte [esp + 0x88], 3
cmp ebp, esi
jne 0x59863c
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x5985ff
call fcn.0059ec50
cmp dword [esp + 0xb4], 0x10
mov edx, dword [esp + 0xa0]
jae 0x598617
lea edx, [esp + 0xa0]
mov esi, dword [ebx + 0x14]
mov eax, esi
cmp eax, esi
jae 0x598620
mov ecx, esi
cmp esi, dword [esp + 0xb0]
jb 0x598632
mov ecx, dword [esp + 0xb0]
cmp dword [ebx + 0x18], 0x10
jb 0x598641
mov eax, dword [edi]
jmp 0x598643
mov eax, dword [ebp]
jmp 0x5985f5
mov eax, edi
push ecx
push edx
push eax
call fcn.00403fd0
add esp, 0xc
test eax, eax
jne 0x5986b6
mov eax, dword [esp + 0xb0]
cmp esi, eax
jb 0x5986b6
xor ecx, ecx
cmp esi, eax
setne cl
mov eax, ecx
test eax, eax
jne 0x5986b6
test ebp, ebp
jne 0x5986ac
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x59867f
call fcn.0059ec50
push 0xffffffffffffffff
push 0
lea edx, [ebx + 0x1c]
push edx
lea ecx, [esp + 0x6c]
call fcn.00401620
test ebp, ebp
jne 0x5986b1
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x5986a5
call fcn.0059ec50
push 0xffffffffffffffff
push 0
push ebx
jmp 0x5986fe
mov eax, dword [ebp]
jmp 0x598675
mov eax, dword [ebp]
jmp 0x59869b
test ebp, ebp
jne 0x598947
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x5986cf
call fcn.0059ec50
push 0xffffffffffffffff
push 0
push ebx
lea ecx, [esp + 0x6c]
call fcn.00401620
test ebp, ebp
jne 0x59894f
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x5986f6
call fcn.0059ec50
push 0xffffffffffffffff
push 0
lea eax, [ebx + 0x1c]
push eax
lea ecx, [esp + 0x50]
call fcn.00401620
mov esi, dword [esp + 0x28]
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x40]
push edx
mov ecx, esi
call fcn.0059a620
mov edi, dword [esi + 0x18]
mov eax, dword [esi]
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x59872d
cmp esi, eax
je 0x598732
call fcn.0059ec50
mov ebp, dword [esp + 0x40]
cmp ebp, edi
je 0x5988d9
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x598957
call fcn.0059ec50
xor eax, eax
mov ecx, dword [esp + 0x38]
cmp ecx, dword [eax + 0x18]
jne 0x59875f
call fcn.0059ec50
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x59895e
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x59877c
call fcn.0059ec50
fld dword [ebx + 0x70]
mov edx, dword [esp + 0x38]
fadd dword [edx + 0x68]
fstp dword [esp + 0x20]
test esi, esi
jne 0x598965
call fcn.0059ec50
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x5987a3
call fcn.0059ec50
fld dword [esp + 0x20]
fld dword [ebp + 0x68]
fcompp
fnstsw ax
test ah, 1
je 0x5987d9
test esi, esi
jne 0x59896c
call fcn.0059ec50
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x5987cc
call fcn.0059ec50
cmp dword [ebp + 0x80], 0
jne 0x5988d9
test esi, esi
jne 0x598973
call fcn.0059ec50
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x5987f2
call fcn.0059ec50
push 4
lea edi, [ebp + 0xc]
mov eax, dword [edi + 0x74]
lea ecx, [edi + 0x60]
push 0x5f5150
push eax
push 0
call fcn.00403f20
test eax, eax
je 0x5988d9
test esi, esi
jne 0x59897a
call fcn.0059ec50
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x59882b
call fcn.0059ec50
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x4c]
lea ecx, [ebp + 0x6c]
push edx
call fcn.00401620
test esi, esi
jne 0x598981
call fcn.0059ec50
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x598855
call fcn.0059ec50
fld dword [esp + 0x20]
fstp dword [ebp + 0x68]
test esi, esi
jne 0x598988
call fcn.0059ec50
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x598875
call fcn.0059ec50
test esi, esi
jne 0x59898f
call fcn.0059ec50
cmp ebp, dword [esi + 0x18]
jne 0x59888c
call fcn.0059ec50
mov ecx, dword [esp + 0x24]
push edi
call fcn.0059c960
mov esi, eax
mov eax, dword [edi + 0x1c]
push 0xffffffffffffffff
mov dword [esi], eax
mov ecx, dword [edi + 0x20]
push 0
lea edx, [edi + 0x24]
mov dword [esi + 4], ecx
push edx
lea ecx, [esi + 8]
call fcn.00401620
push 0xffffffffffffffff
push 0
lea eax, [edi + 0x40]
push eax
lea ecx, [esi + 0x24]
call fcn.00401620
fld dword [edi + 0x5c]
push 0xffffffffffffffff
fstp dword [esi + 0x40]
push 0
add edi, 0x60
push edi
lea ecx, [esi + 0x44]
call fcn.00401620
cmp dword [esp + 0x5c], 0x10
jb 0x5988ed
mov ecx, dword [esp + 0x48]
push ecx
call fcn.0059e6bb
add esp, 4
cmp dword [esp + 0x78], 0x10
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], 0
mov byte [esp + 0x48], 0
mov byte [esp + 0x88], 1
jb 0x59891e
mov edx, dword [esp + 0x64]
push edx
call fcn.0059e6bb
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x598996
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x598937
call fcn.0059ec50
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
add ebx, 0x74
jmp 0x598480
mov eax, dword [ebp]
jmp 0x5986c5
mov eax, dword [ebp]
jmp 0x5986ec
mov eax, dword [eax]
jmp 0x598751
mov eax, dword [eax]
jmp 0x598772
mov eax, dword [esi]
jmp 0x598799
mov eax, dword [esi]
jmp 0x5987c2
mov eax, dword [esi]
jmp 0x5987e8
mov eax, dword [esi]
jmp 0x598821
mov eax, dword [esi]
jmp 0x59884b
mov eax, dword [esi]
jmp 0x59886b
mov esi, dword [esi]
jmp 0x598882
mov eax, dword [eax]
jmp 0x59892d
cmp dword [esp + 0xb4], 0x10
jb 0x5989b4
mov eax, dword [esp + 0xa0]
push eax
call fcn.0059e6bb
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.0059e619
add esp, 0x78
ret 0x28