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

Disassembly:
push 0xffffffffffffffff
push 0x5d08da
mov eax, dword fs:[0]
push eax
sub esp, 0x100
mov eax, dword [0x61a654]
xor eax, esp
mov dword [esp + 0xfc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x61a654]
xor eax, esp
push eax
lea eax, [esp + 0x114]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x34], esi
push esi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x120], 1
call fcn.0059c1f0
add esi, 0x20
push esi
lea ecx, [esp + 0x44]
mov byte [esp + 0x120], 2
call fcn.0059bc70
mov eax, dword [esp + 0x70]
mov edi, dword [eax]
mov ebp, dword [esp + 0x58]
mov byte [esp + 0x11c], 3
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x70]
test ebp, ebp
je 0x599323
cmp ebp, dword [esp + 0x58]
je 0x599328
call fcn.0059ec50
cmp edi, esi
je 0x599426
test ebp, ebp
jne 0x599380
call fcn.0059ec50
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x599345
call fcn.0059ec50
cmp dword [esp + 0x13c], 0x10
mov edx, dword [esp + 0x128]
jae 0x59935d
lea edx, [esp + 0x128]
mov esi, dword [edi + 0x20]
mov eax, esi
cmp eax, esi
jae 0x599366
mov ebx, dword [esp + 0x138]
mov ecx, esi
cmp esi, ebx
jb 0x599375
mov ecx, ebx
cmp dword [edi + 0x24], 0x10
jb 0x599385
mov eax, dword [edi + 0x10]
jmp 0x599388
mov eax, dword [ebp]
jmp 0x59933b
lea eax, [edi + 0x10]
push ecx
push edx
push eax
call fcn.00403fd0
add esp, 0xc
test eax, eax
jne 0x5993cf
cmp esi, ebx
jb 0x5993cf
cmp esi, ebx
setne al
test eax, eax
jne 0x5993cf
test ebp, ebp
jne 0x5993ca
call fcn.0059ec50
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x5993b9
call fcn.0059ec50
push 4
push str.self
lea ecx, [edi + 0x6c]
call fcn.00401590
jmp 0x5993ec
mov eax, dword [ebp]
jmp 0x5993af
test ebp, ebp
jne 0x59941c
call fcn.0059ec50
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x5993e4
call fcn.0059ec50
lea ecx, [edi + 0x6c]
call fcn.0040ad20
test ebp, ebp
jne 0x599421
call fcn.0059ec50
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x599401
call fcn.0059ec50
fldz
lea ecx, [esp + 0x1c]
fstp dword [edi + 0x68]
call fcn.00599fc0
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
jmp 0x599315
mov eax, dword [ebp]
jmp 0x5993da
mov eax, dword [ebp]
jmp 0x5993f7
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
cmp esi, eax
jbe 0x59943b
call fcn.0059ec50
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], esi
mov ebx, eax
cmp dword [esp + 0x4c], eax
jbe 0x599454
call fcn.0059ec50
test edi, edi
je 0x59945e
cmp edi, dword [esp + 0x40]
je 0x599463
call fcn.0059ec50
cmp esi, ebx
je 0x599704
test edi, edi
jne 0x599616
call fcn.0059ec50
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x599484
call fcn.0059ec50
push esi
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x60]
call fcn.0059a620
test edi, edi
jne 0x59961d
call fcn.0059ec50
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x5994ac
call fcn.0059ec50
add esi, 0x1c
push esi
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x60]
call fcn.0059a620
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x70]
test eax, eax
je 0x5994d0
cmp eax, dword [esp + 0x58]
je 0x5994d5
call fcn.0059ec50
cmp dword [esp + 0x20], esi
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x70]
setne bl
test ebp, ebp
je 0x5994ee
cmp ebp, dword [esp + 0x58]
je 0x5994f3
call fcn.0059ec50
mov edi, dword [esp + 0x30]
cmp edi, esi
setne al
mov byte [esp + 0x17], al
test bl, bl
je 0x59964a
test al, al
je 0x599692
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x599624
call fcn.0059ec50
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x18]
jne 0x599531
call fcn.0059ec50
test ebp, ebp
jne 0x59962b
call fcn.0059ec50
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x59954a
call fcn.0059ec50
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x28]
sub eax, dword [edi + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x599633
call fcn.0059ec50
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x18]
jne 0x599579
call fcn.0059ec50
test ebp, ebp
jne 0x59963a
call fcn.0059ec50
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x599592
call fcn.0059ec50
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x2c]
sub eax, dword [edi + 0x2c]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fild dword [esp + 0x18]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call fcn.005a05e0
fstp dword [esp + 0x18]
mov edi, dword [esp + 0x24]
fld dword [esp + 0x18]
fstp dword [esp + 0x18]
test edi, edi
jne 0x599642
call fcn.0059ec50
xor eax, eax
mov esi, dword [esp + 0x28]
cmp esi, dword [eax + 0x10]
jb 0x5995e6
call fcn.0059ec50
fld dword [esp + 0x18]
fstp dword [esi + 0x70]
test edi, edi
jne 0x599646
call fcn.0059ec50
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x599602
call fcn.0059ec50
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x24]
add esi, 0x74
mov dword [esp + 0x28], esi
jmp 0x599447
mov eax, dword [edi]
jmp 0x59947a
mov eax, dword [edi]
jmp 0x5994a2
mov eax, dword [eax]
jmp 0x599523
mov eax, dword [ebp]
jmp 0x599540
mov eax, dword [eax]
jmp 0x59956b
mov eax, dword [ebp]
jmp 0x599588
mov eax, dword [edi]
jmp 0x5995d8
mov eax, dword [edi]
jmp 0x5995f8
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x599676
call fcn.0059ec50
xor eax, eax
mov ecx, dword [esp + 0x28]
cmp ecx, dword [eax + 0x10]
jb 0x59966b
call fcn.0059ec50
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x18], 0x10
jb 0x59967a
mov eax, dword [ecx + 4]
jmp 0x59967d
mov eax, dword [eax]
jmp 0x599659
lea eax, [ecx + 4]
push eax
push str.ERROR:_Edge_refer_to_undefined_point._FromPointStr_s
call fcn.00558fd0
add esp, 8
cmp byte [esp + 0x17], 0
jne 0x5996d3
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x5996be
call fcn.0059ec50
xor eax, eax
mov ecx, dword [esp + 0x28]
cmp ecx, dword [eax + 0x10]
jb 0x5996b3
call fcn.0059ec50
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x34], 0x10
jb 0x5996c2
mov eax, dword [ecx + 0x20]
jmp 0x5996c5
mov eax, dword [eax]
jmp 0x5996a1
lea eax, [ecx + 0x20]
push eax
push str.ERROR:_Edge_refer_to_undefined_point._ToPointStr_s
call fcn.00558fd0
add esp, 8
lea ecx, [esp + 0x40]
call fcn.0059b880
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0059e6bb
add esp, 4
lea ecx, [esp + 0x58]
mov byte [esp + 0x11c], 1
call fcn.0059bbf0
mov esi, 0x10
jmp 0x599ef6
lea ecx, [esp + 0x17]
push ecx
lea edx, [esp + 0x1b]
push edx
lea ecx, [esp + 0x80]
call fcn.0059aa60
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x60]
mov byte [esp + 0x124], 4
call fcn.0059a620
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x59997f
call fcn.0059ec50
xor eax, eax
mov esi, dword [esp + 0x30]
cmp esi, dword [eax + 0x18]
jne 0x599759
call fcn.0059ec50
add esi, 0x28
push esi
lea edx, [esp + 0x128]
push edx
lea ecx, [esp + 0x80]
call fcn.0059c960
mov ecx, eax
call fcn.0059aa10
cmp dword [esp + 0x94], 0
je 0x599a20
jmp 0x599790
mov eax, dword [esp + 0x90]
mov esi, dword [eax]
mov ebx, dword [esp + 0x78]
lea ecx, [esp + 0x17]
push ecx
lea edx, [esp + 0x1b]
push edx
lea ecx, [esp + 0xd8]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
call fcn.0059aa60
mov byte [esp + 0x11c], 5
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x90]
test eax, eax
je 0x5997d6
cmp eax, ebx
je 0x5997df
call fcn.0059ec50
mov eax, dword [esp + 0x78]
cmp edi, esi
je 0x5999cc
test ebx, ebx
jne 0x599986
call fcn.0059ec50
xor eax, eax
cmp esi, dword [eax + 0x18]
jne 0x599800
call fcn.0059ec50
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
lea eax, [esi + 0xc]
push 0
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push eax
mov byte [ecx + 4], 0
call fcn.00401620
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x114]
push edx
call fcn.005983d0
mov eax, dword [esp + 0x108]
mov ebx, dword [eax]
mov esi, dword [esp + 0xf0]
mov byte [esp + 0x11c], 6
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
mov edi, dword [esp + 0x108]
test esi, esi
je 0x599877
cmp esi, dword [esp + 0xf0]
je 0x59987c
call fcn.0059ec50
cmp ebx, edi
je 0x5999a2
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
test esi, esi
jne 0x59998d
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x18]
jne 0x5998b3
call fcn.0059ec50
lea edi, [ebx + 0xc]
push edi
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0xd8]
call fcn.0059a620
mov ebp, eax
mov eax, dword [ebp]
test eax, eax
je 0x5998d7
cmp eax, dword [esp + 0x38]
je 0x5998dc
call fcn.0059ec50
mov ecx, dword [esp + 0x3c]
cmp dword [ebp + 4], ecx
jne 0x599969
test esi, esi
jne 0x599994
call fcn.0059ec50
xor eax, eax
cmp ebx, dword [eax + 0x18]
jne 0x599902
call fcn.0059ec50
test esi, esi
jne 0x59999b
call fcn.0059ec50
cmp ebx, dword [esi + 0x18]
jne 0x599919
call fcn.0059ec50
push edi
lea ecx, [esp + 0xd4]
call fcn.0059c960
mov edx, dword [edi + 0x1c]
mov esi, eax
push 0xffffffffffffffff
push 0
lea ecx, [edi + 0x24]
mov dword [esi], edx
mov eax, dword [edi + 0x20]
push ecx
lea ecx, [esi + 8]
mov dword [esi + 4], eax
call fcn.00401620
push 0xffffffffffffffff
push 0
lea edx, [edi + 0x40]
push edx
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
lea ecx, [esp + 0x1c]
call fcn.00599fc0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x599863
mov eax, dword [eax]
jmp 0x59974b
mov eax, dword [ebx]
jmp 0x5997f6
mov eax, dword [esi]
jmp 0x5998a9
mov eax, dword [esi]
jmp 0x5998f8
mov esi, dword [esi]
jmp 0x59990f
lea ecx, [esp + 0x24]
call fcn.00599fc0
lea ecx, [esp + 0xf0]
mov byte [esp + 0x11c], 5
call fcn.0059bbf0
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
jmp 0x5997c3
mov edx, dword [esp + 0x90]
mov ecx, dword [edx]
push edx
push eax
push ecx
push eax
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x8c]
call fcn.0059b730
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x7c]
call fcn.0059bda0
lea ecx, [esp + 0xd0]
mov byte [esp + 0x11c], 4
call fcn.0059bbf0
cmp dword [esp + 0x94], 0
jne 0x599790
lea edx, [esp + 0x140]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x60]
call fcn.0059a620
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x70]
test esi, esi
je 0x599a50
cmp esi, dword [esp + 0x58]
je 0x599a55
call fcn.0059ec50
cmp edi, ebx
je 0x599ad6
test esi, esi
jne 0x599aca
call fcn.0059ec50
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x599a6e
call fcn.0059ec50
cmp dword [edi + 0x80], 0
je 0x599a98
test esi, esi
jne 0x599ace
call fcn.0059ec50
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x599a8c
call fcn.0059ec50
lea ecx, [edi + 0xc]
push ecx
lea ecx, [ebp + 0x38]
call fcn.0040fac0
test esi, esi
jne 0x599ad2
call fcn.0059ec50
cmp edi, dword [esi + 0x18]
jne 0x599aab
call fcn.0059ec50
add edi, 0x6c
push edi
lea edx, [esp + 0x9c]
push edx
lea ecx, [esp + 0x60]
call fcn.0059a620
mov esi, dword [eax]
mov edi, dword [eax + 4]
jmp 0x599a42
mov eax, dword [esi]
jmp 0x599a64
mov eax, dword [esi]
jmp 0x599a82
mov esi, dword [esi]
jmp 0x599aa1
mov ecx, dword [ebp + 0x48]
sub ecx, dword [ebp + 0x44]
lea esi, [ebp + 0x38]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x599e15
add ebp, 0x50
mov ecx, ebp
call fcn.0059c330
mov ecx, esi
call fcn.0059a490
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xdc]
mov dword [esp + 0xf4], 0xf
mov dword [esp + 0xf0], 0
mov byte [esp + 0xe0], 0
call fcn.00401620
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov byte [esp + 0x11c], 7
je 0x599de0
mov edi, dword [esi + 0x10]
mov ecx, edi
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x599b99
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esi + 8]
push edx
lea eax, [edi - 0x1c]
push edi
push eax
call fcn.00413920
add esp, 0x10
add dword [esi + 0x10], 0xffffffe4
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x599dc1
mov ecx, esi
call fcn.0059a490
push 0xffffffffffffffff
xor edi, edi
push edi
push eax
lea ecx, [esp + 0xfc]
mov dword [esp + 0x114], 0xf
mov dword [esp + 0x110], edi
mov byte [esp + 0x100], 0
call fcn.00401620
mov ebx, dword [esp + 0x34]
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0x30]
push edx
mov ecx, ebx
mov byte [esp + 0x124], 8
call fcn.0059a620
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
call fcn.0059a620
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0xcc], 0xf
mov dword [esp + 0xc8], edi
mov byte [esp + 0xb8], 0
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x11c], 9
cmp eax, edi
jne 0x599e00
call fcn.0059ec50
xor eax, eax
mov edi, dword [esp + 0x30]
cmp edi, dword [eax + 0x18]
jne 0x599c7e
call fcn.0059ec50
mov edx, dword [edi + 0x28]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xa0], edx
mov eax, dword [edi + 0x2c]
mov dword [esp + 0xa4], eax
test ebx, ebx
jne 0x599e07
call fcn.0059ec50
xor eax, eax
mov edi, dword [esp + 0x20]
cmp edi, dword [eax + 0x18]
jne 0x599cb3
call fcn.0059ec50
mov ecx, dword [edi + 0x28]
mov dword [esp + 0xa8], ecx
mov edx, dword [edi + 0x2c]
mov dword [esp + 0xac], edx
test ebx, ebx
jne 0x599e0e
call fcn.0059ec50
cmp edi, dword [ebx + 0x18]
jne 0x599cde
call fcn.0059ec50
push 0xffffffffffffffff
lea eax, [edi + 0x4c]
push 0
push eax
lea ecx, [esp + 0xc0]
call fcn.00401620
fild dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
sub eax, dword [esp + 0xa4]
fisub dword [esp + 0xa0]
mov ecx, eax
imul ecx, eax
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call fcn.005a05e0
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea edx, [esp + 0xa0]
push edx
fstp dword [esp + 0xb4]
mov ecx, ebp
call fcn.0059d200
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0xdc]
call fcn.00401620
mov edi, 0x10
cmp dword [esp + 0xcc], edi
jb 0x599d82
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.0059e6bb
add esp, 4
mov dword [esp + 0xcc], 0xf
mov dword [esp + 0xc8], 0
mov byte [esp + 0xb8], 0
mov byte [esp + 0x11c], 7
cmp dword [esp + 0x108], edi
jb 0x599dc1
mov edx, dword [esp + 0xf4]
push edx
call fcn.0059e6bb
add esp, 4
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x599b62
mov esi, 0x10
cmp dword [esp + 0xe8], esi
jb 0x599e1a
mov ecx, dword [esp + 0xd4]
push ecx
call fcn.0059e6bb
add esp, 4
jmp 0x599e1a
mov eax, dword [eax]
jmp 0x599c70
mov eax, dword [ebx]
jmp 0x599ca5
mov ebx, dword [ebx]
jmp 0x599cd4
mov esi, 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x60]
sub ecx, dword [eax + 0x5c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x11c], 3
lea ecx, [esp + 0x78]
je 0x599eca
call fcn.0059bbf0
lea ecx, [esp + 0x40]
call fcn.0059b880
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0059e6bb
add esp, 4
lea ecx, [esp + 0x58]
mov byte [esp + 0x11c], 1
call fcn.0059bbf0
cmp dword [esp + 0x13c], esi
jb 0x599e8c
mov edx, dword [esp + 0x128]
push edx
call fcn.0059e6bb
add esp, 4
mov dword [esp + 0x13c], 0xf
mov dword [esp + 0x138], 0
mov byte [esp + 0x128], 0
cmp dword [esp + 0x158], esi
jb 0x599ec3
mov eax, dword [esp + 0x144]
push eax
call fcn.0059e6bb
add esp, 4
mov al, 1
jmp 0x599f48
call fcn.0059bbf0
lea ecx, [esp + 0x40]
call fcn.0059b880
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0059e6bb
add esp, 4
lea ecx, [esp + 0x58]
mov byte [esp + 0x11c], 1
call fcn.0059bbf0
cmp dword [esp + 0x13c], esi
jb 0x599f0f
mov edx, dword [esp + 0x128]
push edx
call fcn.0059e6bb
add esp, 4
mov byte [esp + 0x128], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0xf
cmp dword [esp + 0x158], esi
jb 0x599f46
mov eax, dword [esp + 0x144]
push eax
call fcn.0059e6bb
add esp, 4
xor al, al
mov ecx, dword [esp + 0x114]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xfc]
xor ecx, esp
call fcn.0059e619
add esp, 0x10c
ret 0x38