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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100706ae
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb0
push ebx
push esi
mov esi, ecx
push edi
xor edi, edi
mov dword [esp + 0x14], esi
cmp dword [esi], edi
je 0x10059047
mov dword [esi + 0x88], edi
mov dword [esi + 0x8c], 1
mov ecx, dword [esp + 0xbc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [0x101e5e58]
call fcn.10032280
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x14]
cmp eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x54], edi
mov dword [esi + 0x84], edi
mov dword [esi + 0x88], edi
je 0x1005967a
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], 0
mov eax, dword [eax + 0xb4]
mov ecx, dword [eax + 8]
test ecx, ecx
jle 0x10059326
mov ecx, dword [eax]
mov edx, dword [esp + 0x10]
mov esi, dword [ecx + edx*4]
mov eax, dword [esi + 0x20]
test eax, eax
je 0x100591de
mov edi, dword [esp + 0x14]
mov ebx, dword [edi + 0x6c]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, ecx
jg 0x10059142
fld qword [esi + 8]
fadd qword [0x10071170]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.10055f80
fld qword [esi + 8]
fsub qword [0x10071158]
sub esp, 8
mov ecx, ebx
mov dword [esp + 0x20], eax
fstp qword [esp]
call fcn.10055f80
mov ebx, dword [esp + 0x18]
mov edx, eax
cmp edx, ebx
jg 0x10059142
mov eax, dword [edi + 0x6c]
mov ecx, edx
sub ecx, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x1005913d
fld qword [ecx + 8]
fadd qword [0x10071148]
fcomp qword [esi]
fnstsw ax
and eax, 0x4100
jne 0x10059136
fld qword [ecx + 0x10]
fsub qword [0x10071148]
fcomp qword [esi + 0x10]
fnstsw ax
test ah, 5
jp 0x10059136
mov dword [ecx + 0x58], 1
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x10059108
inc edx
cmp edx, ebx
jle 0x100590f7
mov ebx, dword [edi + 0x74]
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
cmp ecx, eax
jg 0x1005930a
fld qword [esi + 8]
fsub qword [0x10071970]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.10055f80
fld qword [esi + 8]
fsub qword [0x10071170]
sub esp, 8
mov ecx, ebx
mov edi, eax
fstp qword [esp]
call fcn.10055f80
mov edx, eax
cmp edx, edi
jg 0x1005930a
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0x74]
mov ecx, edx
sub ecx, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x100591d4
fld qword [ecx + 8]
fadd qword [0x10071148]
fcomp qword [esi]
fnstsw ax
and eax, 0x4100
jne 0x100591cd
fld qword [ecx + 0x10]
fsub qword [0x10071148]
fcomp qword [esi + 0x10]
fnstsw ax
test ah, 5
jp 0x100591cd
mov dword [ecx + 0x58], 1
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x1005919f
inc edx
cmp edx, edi
jle 0x1005918e
jmp 0x1005930a
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + 0x70]
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
cmp edx, eax
jg 0x10059274
fld qword [esi]
fsub qword [0x10071970]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.10055f80
fld qword [esi]
fsub qword [0x10071170]
sub esp, 8
mov ecx, ebx
mov edi, eax
fstp qword [esp]
call fcn.10055f80
mov edx, eax
cmp edx, edi
jg 0x10059274
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0x70]
mov ecx, edx
sub ecx, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x1005926f
fld qword [ecx + 0x18]
fadd qword [0x10071148]
fcomp qword [esi + 8]
fnstsw ax
and eax, 0x4100
jne 0x10059268
fld qword [ecx + 0x20]
fsub qword [0x10071148]
fcomp qword [esi + 0x18]
fnstsw ax
test ah, 5
jp 0x10059268
mov dword [ecx + 0x58], 1
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x10059239
inc edx
cmp edx, edi
jle 0x10059228
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + 0x78]
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
cmp edx, eax
jg 0x1005930a
fld qword [esi]
fadd qword [0x10071170]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.10055f80
fld qword [esi]
fsub qword [0x10071158]
sub esp, 8
mov ecx, ebx
mov edi, eax
fstp qword [esp]
call fcn.10055f80
mov edx, eax
cmp edx, edi
jg 0x1005930a
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0x78]
mov ecx, edx
sub ecx, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10059305
fld qword [ecx + 0x18]
fadd qword [0x10071148]
fcomp qword [esi + 8]
fnstsw ax
and eax, 0x4100
jne 0x100592fe
fld qword [ecx + 0x20]
fsub qword [0x10071148]
fcomp qword [esi + 0x18]
fnstsw ax
test ah, 5
jp 0x100592fe
mov dword [ecx + 0x58], 1
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x100592cf
inc edx
cmp edx, edi
jle 0x100592be
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc ecx
mov eax, dword [edx + 0xb4]
mov dword [esp + 0x10], ecx
cmp ecx, dword [eax + 8]
jl 0x10059095
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], 0
mov eax, dword [edi + 0xb8]
mov ecx, dword [eax + 8]
test ecx, ecx
jle 0x1005967a
jmp 0x10059349
mov edi, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
mov ebx, dword [edi + 0x6c]
mov esi, dword [eax + ecx*4]
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
cmp edx, eax
jg 0x1005940e
fild dword [esi + 0xc]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.10055f80
fild dword [esi + 4]
sub esp, 8
mov ecx, ebx
mov dword [esp + 0x20], eax
fstp qword [esp]
call fcn.10055f80
mov ebx, dword [esp + 0x18]
mov edx, eax
cmp edx, ebx
jg 0x1005940e
mov eax, dword [edi + 0x6c]
mov ecx, edx
sub ecx, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10059409
fild dword [esi]
fld qword [ecx + 8]
fadd qword [0x10071158]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059402
fld qword [ecx + 0x10]
fsub qword [0x10071158]
fild dword [esi + 8]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059402
fild dword [esi + 4]
fld qword [ecx + 0x18]
fadd qword [0x10071158]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059402
fld qword [ecx + 0x20]
fsub qword [0x10071158]
fild dword [esi + 0xc]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059402
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x100593a1
inc edx
cmp edx, ebx
jle 0x10059390
mov ebx, dword [edi + 0x74]
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
cmp ecx, eax
jg 0x100594d6
fild dword [esi + 0xc]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.10055f80
fild dword [esi + 4]
sub esp, 8
mov ecx, ebx
mov edi, eax
fstp qword [esp]
call fcn.10055f80
mov edx, eax
cmp edx, edi
jg 0x100594d2
mov eax, dword [esp + 0x14]
mov ecx, edx
mov eax, dword [eax + 0x74]
mov ebx, dword [eax]
mov eax, dword [eax + 8]
sub ecx, ebx
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x100594c9
fild dword [esi]
fld qword [ecx + 8]
fadd qword [0x10071158]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x100594c2
fld qword [ecx + 0x10]
fsub qword [0x10071158]
fild dword [esi + 8]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x100594c2
fild dword [esi + 4]
fld qword [ecx + 0x18]
fadd qword [0x10071158]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x100594c2
fld qword [ecx + 0x20]
fsub qword [0x10071158]
fild dword [esi + 0xc]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x100594c2
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x10059461
inc edx
cmp edx, edi
jle 0x1005944a
mov edi, dword [esp + 0x14]
mov ebx, dword [edi + 0x70]
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
cmp ecx, eax
jg 0x1005959d
fild dword [esi + 8]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.10055f80
fild dword [esi]
sub esp, 8
mov ecx, ebx
mov edi, eax
fstp qword [esp]
call fcn.10055f80
mov edx, eax
cmp edx, edi
jg 0x10059599
mov eax, dword [esp + 0x14]
mov ecx, edx
mov eax, dword [eax + 0x70]
mov ebx, dword [eax]
mov eax, dword [eax + 8]
sub ecx, ebx
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10059590
fild dword [esi + 4]
fld qword [ecx + 0x18]
fadd qword [0x10071158]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059589
fld qword [ecx + 0x20]
fsub qword [0x10071158]
fild dword [esi + 0xc]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059589
fild dword [esi]
fld qword [ecx + 8]
fadd qword [0x10071158]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059589
fld qword [ecx + 0x10]
fsub qword [0x10071158]
fild dword [esi + 8]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059589
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x10059528
inc edx
cmp edx, edi
jle 0x10059511
mov edi, dword [esp + 0x14]
mov ebx, dword [edi + 0x78]
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
cmp ecx, eax
jg 0x1005965c
fild dword [esi + 8]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.10055f80
fild dword [esi]
sub esp, 8
mov ecx, ebx
mov edi, eax
fstp qword [esp]
call fcn.10055f80
mov edx, eax
cmp edx, edi
jg 0x1005965c
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0x78]
mov ecx, edx
sub ecx, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10059655
fild dword [esi + 4]
fld qword [ecx + 0x18]
fadd qword [0x10071158]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x1005964e
fld qword [ecx + 0x20]
fsub qword [0x10071158]
fild dword [esi + 0xc]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x1005964e
fild dword [esi]
fld qword [ecx + 8]
fadd qword [0x10071158]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x1005964e
fld qword [ecx + 0x10]
fsub qword [0x10071158]
fild dword [esi + 8]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x1005964e
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x100595ed
inc edx
cmp edx, edi
jle 0x100595dc
jmp 0x10059660
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0xb8]
mov ecx, dword [esp + 0x10]
inc ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x10059345
xor esi, esi
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x14]
mov dword [esp + esi*4 + 0xa8], 0
mov ebx, dword [ecx + esi*4 + 0x6c]
mov dword [esp + 0x9c], ebx
mov eax, dword [ebx]
mov dword [esp + 0x28], eax
mov edx, dword [ebx + 4]
cmp eax, edx
jg 0x1005a31d
mov edi, dword [ebx]
mov ecx, eax
sub ecx, edi
mov edi, dword [ebx + 8]
lea ecx, [edi + ecx*4]
cmp dword [ecx], 0
jne 0x100596c4
inc eax
add ecx, 4
cmp eax, edx
jle 0x100596b7
cmp eax, edx
mov dword [esp + 0x28], eax
jg 0x1005a31d
mov esi, eax
lea edi, [eax + 1]
add eax, 4
mov dword [esp + 0x10], edi
cmp edi, eax
mov dword [esp + 0x40], eax
jge 0x10059752
cmp edi, dword [ebx + 4]
jg 0x10059752
mov ecx, dword [ebx]
mov edx, dword [ebx + 8]
mov eax, edi
sub eax, ecx
mov eax, dword [edx + eax*4]
test eax, eax
je 0x10059745
mov edi, esi
sub edi, ecx
mov ecx, dword [eax]
cmp ecx, 3
mov edx, dword [edx + edi*4]
ja case.default.0x10059707
jmp dword [ecx*4 + 0x1005a9d4]
fld qword [eax + 8]
fsub qword [edx + 8]
jmp 0x1005972c
fld qword [eax + 0x18]
fsub qword [edx + 0x18]
jmp 0x1005972c
fld qword [edx + 0x10]
fsub qword [eax + 0x10]
jmp 0x1005972c
fld qword [edx + 0x20]
fsub qword [eax + 0x20]
fcom qword [0x10071140]
fnstsw ax
test ah, 5
jnp 0x10059795
fcomp qword [0x10071140]
fnstsw ax
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
inc edi
cmp edi, eax
mov dword [esp + 0x10], edi
jl 0x100596e4
mov ecx, dword [ebx]
xor edi, edi
sub esi, ecx
mov ecx, dword [ebx + 8]
push 0x60
lea eax, [ecx + esi*4]
mov esi, dword [ecx + esi*4]
mov ecx, dword [esi + 0x54]
mov dword [eax], ecx
mov dword [esi + 0x54], edi
call fcn.10060e1a
add esp, 4
mov dword [esp + 0x40], eax
cmp eax, edi
mov dword [esp + 0xc4], edi
je 0x1005979f
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push edx
push ecx
mov ecx, eax
call fcn.10056ec0
jmp 0x100597a1
mov edi, dword [esp + 0x10]
fstp st(0)
mov esi, edi
jmp 0x10059745
xor eax, eax
push esi
mov ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0xc8], 0xffffffff
call fcn.10056f90
fld qword [esi + 0x28]
mov edx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
fst qword [esp + 0x58]
fstp qword [esp + 0x60]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
fld qword [esp + 0x38]
fmul qword [str.333333]
fstp qword [esp + 0x90]
fld qword [esp + 0x38]
fmul qword [0x10071f18]
fstp qword [esp + 0xa0]
fld qword [esp + 0x38]
fmul qword [0x10071138]
fstp qword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov eax, edx
mov dword [esp + 0x78], ecx
push eax
push ecx
mov ecx, ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x84], edx
call fcn.10055f80
fld qword [esp + 0x60]
fsub qword [esp + 0xa0]
mov esi, eax
mov ecx, ebx
mov dword [esp + 0x10], esi
fstp qword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
call fcn.10055f80
mov edi, dword [esp + 0x24]
cmp esi, eax
jl 0x100598f3
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx]
sub ecx, edx
mov edx, dword [ebx + 8]
mov dword [esp + 0x1c], 0
mov esi, dword [edx + ecx*4]
test esi, esi
je 0x100598d1
mov ecx, dword [esp + 0x20]
fld qword [esi + 0x28]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 5
jp 0x100598c6
fld qword [esi + 0x28]
fcomp qword [esp + 0x48]
fnstsw ax
and eax, 0x100
jne 0x100598c6
test ecx, ecx
je 0x100599ce
cmp ecx, 2
je 0x100599ce
fld qword [esi + 0x18]
fcomp qword [edi + 0x20]
fnstsw ax
test ah, 5
jp 0x100598c6
fld qword [esi + 0x20]
fcomp qword [edi + 0x18]
fnstsw ax
and eax, 0x4100
je 0x100599f2
mov dword [esp + 0x1c], esi
mov esi, dword [esi + 0x54]
test esi, esi
jne 0x10059877
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
dec esi
push edx
push eax
mov ecx, ebx
mov dword [esp + 0x18], esi
call fcn.10055f80
cmp esi, eax
jge 0x10059859
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x64], edx
mov edx, ecx
mov dword [esp + 0x74], ecx
push edx
push eax
mov ecx, ebx
mov dword [esp + 0x78], eax
call fcn.10055f80
fld qword [esp + 0xa0]
fadd qword [esp + 0x58]
mov esi, eax
mov dword [esp + 0x10], esi
fstp qword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push ecx
push edx
mov ecx, ebx
call fcn.10055f80
cmp esi, eax
jg 0x10059b3f
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx]
sub eax, ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x1c], 0
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x10059b1d
mov ecx, dword [esp + 0x20]
fld qword [esi + 0x28]
fcomp qword [esp + 0x58]
fnstsw ax
and eax, 0x4100
jne 0x10059b0e
fld qword [esi + 0x28]
fcomp qword [esp + 0x48]
fnstsw ax
test ah, 0x41
jp 0x10059b0e
test ecx, ecx
je 0x10059a73
cmp ecx, 2
je 0x10059a73
fld qword [esi + 0x18]
fcomp qword [edi + 0x20]
fnstsw ax
test ah, 5
jp 0x10059b0e
fld qword [esi + 0x20]
fcomp qword [edi + 0x18]
fnstsw ax
and eax, 0x4100
je 0x10059a93
jmp 0x10059b0e
fld qword [esi + 8]
fcomp qword [edi + 0x10]
fnstsw ax
test ah, 5
jp 0x100598c6
fld qword [esi + 0x10]
fcomp qword [edi + 8]
fnstsw ax
and eax, 0x4100
jne 0x100598c6
fld qword [esi + 0x48]
fsub qword [esp + 0x38]
fabs
fld qword [esp + 0x38]
fmul qword [0x10071ef8]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x100598c6
mov edx, dword [esp + 0x1c]
lea eax, [esi + 0x54]
mov edi, esi
mov esi, dword [eax]
test edx, edx
je 0x10059a2a
mov ecx, eax
mov dword [edx + 0x54], esi
jmp 0x10059a3e
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx]
sub ecx, edx
mov edx, dword [ebx + 8]
mov dword [esp + 0x40], eax
mov dword [edx + ecx*4], esi
mov ecx, eax
mov esi, dword [eax]
mov dword [ecx], 0
mov ecx, dword [esp + 0x24]
push edi
call fcn.10056f90
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0x28]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], 1
mov dword [esp + 0x78], eax
jmp 0x100598cd
fld qword [esi + 8]
fcomp qword [edi + 0x10]
fnstsw ax
test ah, 5
jp 0x10059b0e
fld qword [esi + 0x10]
fcomp qword [edi + 8]
fnstsw ax
and eax, 0x4100
jne 0x10059b0e
fld qword [esi + 0x48]
fsub qword [esp + 0x38]
fabs
fld qword [esp + 0x38]
fmul qword [0x10071ef8]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059b0e
mov ecx, dword [esp + 0x1c]
mov edi, esi
test ecx, ecx
lea eax, [esi + 0x54]
je 0x10059ac5
mov edx, dword [eax]
mov dword [ecx + 0x54], edx
jmp 0x10059adc
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx]
mov esi, dword [eax]
sub ecx, edx
mov edx, dword [ebx + 8]
mov ebx, dword [esp + 0x9c]
mov dword [edx + ecx*4], esi
mov esi, dword [eax]
mov ecx, dword [esp + 0x24]
push edi
mov dword [eax], 0
call fcn.10056f90
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0x28]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], 1
mov dword [esp + 0x70], eax
jmp 0x10059b15
mov dword [esp + 0x1c], esi
mov esi, dword [esi + 0x54]
test esi, esi
jne 0x1005996e
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
inc esi
push edx
push eax
mov ecx, ebx
mov dword [esp + 0x18], esi
call fcn.10055f80
cmp esi, eax
jle 0x1005994c
fld qword [esp + 0x78]
fsub qword [esp + 0x68]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
fst qword [esp + 0x88]
fstp qword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov ecx, ebx
call fcn.10055f80
fld qword [esp + 0x70]
fadd qword [esp + 0x68]
mov edi, eax
mov ecx, ebx
mov dword [esp + 0x10], edi
fstp qword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
call fcn.10055f80
cmp edi, eax
jg 0x10059c57
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov ecx, dword [ebx]
mov eax, edi
sub eax, ecx
mov ecx, dword [ebx + 8]
xor edx, edx
mov esi, dword [ecx + eax*4]
mov dword [esp + 0x1c], edx
test esi, esi
je 0x10059c39
mov ecx, dword [esp + 0x24]
fld qword [esi + 0x28]
fcomp qword [esp + 0x88]
fnstsw ax
and eax, 0x100
jne 0x10059c2c
fld qword [esi + 0x28]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jp 0x10059c2c
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10059d42
cmp eax, 2
je 0x10059d42
fld qword [esp + 0x90]
fadd qword [ecx + 0x20]
fcomp qword [esi + 0x18]
fnstsw ax
and eax, 0x4100
jne 0x10059c2c
fld qword [ecx + 0x18]
fsub qword [esp + 0x90]
fcomp qword [esi + 0x20]
fnstsw ax
test ah, 5
jnp 0x10059d74
mov edx, esi
mov esi, dword [esi + 0x54]
mov dword [esp + 0x1c], edx
test esi, esi
jne 0x10059bc8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
inc edi
push ecx
mov ecx, ebx
mov dword [esp + 0x18], edi
call fcn.10055f80
cmp edi, eax
jle 0x10059bae
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10059801
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
mov ecx, ebx
mov dword [esp + 0x24], 0
call fcn.10055f80
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push ecx
push edx
mov ecx, ebx
mov esi, eax
call fcn.10055f80
cmp esi, eax
jg 0x10059fe1
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
mov eax, dword [ebx]
mov edx, esi
mov edi, dword [esp + 0x24]
sub edx, eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x34], ecx
lea ecx, [eax + edx*4]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
test ecx, ecx
je 0x10059e28
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], eax
fld qword [ecx + 0x28]
fcomp qword [esp + 0x88]
fnstsw ax
and eax, 0x100
jne 0x10059e17
fld qword [ecx + 0x28]
fcomp qword [esp + 0x48]
fnstsw ax
test ah, 0x41
jp 0x10059e17
test edx, edx
je 0x10059ddb
cmp edx, 2
je 0x10059ddb
fld qword [ecx + 0x20]
fcomp qword [edi + 0x18]
fnstsw ax
test ah, 0x41
jp 0x10059e17
fld qword [edi + 0x18]
fsub qword [esp + 0x38]
fcomp qword [ecx + 0x20]
fnstsw ax
test ah, 5
jnp 0x10059df9
jmp 0x10059e17
fld qword [esp + 0x90]
fadd qword [ecx + 0x10]
fcomp qword [esi + 8]
fnstsw ax
and eax, 0x4100
jne 0x10059c2c
fld qword [ecx + 8]
fsub qword [esp + 0x90]
fcomp qword [esi + 0x10]
fnstsw ax
test ah, 5
jp 0x10059c2c
fld qword [esi + 0x48]
fsub qword [esp + 0x38]
fabs
fld qword [esp + 0x38]
fmul qword [0x10071f30]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x10059c2c
lea eax, [esi + 0x54]
mov ecx, esi
test edx, edx
mov esi, dword [eax]
je 0x10059da6
mov dword [edx + 0x54], esi
jmp 0x10059db4
mov edx, dword [ebx]
sub edi, edx
mov edx, dword [ebx + 8]
mov dword [edx + edi*4], esi
mov edi, dword [esp + 0x10]
mov esi, dword [eax]
push ecx
mov ecx, dword [esp + 0x28]
mov dword [eax], 0
call fcn.10056f90
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], 1
jmp 0x10059c35
fld qword [ecx + 0x10]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jp 0x10059e17
fld qword [edi + 8]
fsub qword [esp + 0x38]
fcomp qword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x10059e17
fld qword [ecx + 0x48]
fsub qword [esp + 0x38]
fabs
fld qword [esp + 0x38]
fmul qword [0x10071120]
fcompp
fnstsw ax
and eax, 0x4100
je 0x10059e24
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x10059cdd
jmp 0x10059e28
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
push eax
add edx, 4
push ecx
mov ecx, ebx
inc esi
mov dword [esp + 0x18], edx
call fcn.10055f80
cmp esi, eax
jle 0x10059cbb
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x10059fe1
cmp eax, 3
jg 0x10059fe1
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
mov ecx, ebx
call fcn.10055f80
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov esi, eax
push ecx
push edx
mov ecx, ebx
mov dword [esp + 0x18], esi
call fcn.10055f80
cmp esi, eax
jg 0x10059fe1
mov eax, dword [esp + 0x10]
mov edx, dword [ebx]
sub eax, edx
mov edx, dword [ebx + 8]
xor ecx, ecx
mov esi, dword [edx + eax*4]
lea edx, [edx + eax*4]
test esi, esi
je 0x10059fb3
fld qword [esp + 0x60]
fsub qword [esp + 0x68]
fstp qword [esp + 0x40]
fld qword [esi + 0x28]
fcomp qword [esp + 0x40]
fnstsw ax
and eax, 0x100
jne 0x10059f40
fld qword [esi + 0x28]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jp 0x10059f40
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10059f04
cmp eax, 2
je 0x10059f04
fld qword [esi + 0x20]
fcomp qword [edi + 0x18]
fnstsw ax
test ah, 0x41
jp 0x10059f40
fld qword [edi + 0x18]
fsub qword [esp + 0x38]
fcomp qword [esi + 0x20]
fnstsw ax
test ah, 5
jnp 0x10059f22
jmp 0x10059f40
fld qword [esi + 0x10]
fcomp qword [edi + 8]
fnstsw ax
test ah, 0x41
jp 0x10059f40
fld qword [edi + 8]
fsub qword [esp + 0x38]
fcomp qword [esi + 0x10]
fnstsw ax
test ah, 5
jp 0x10059f40
fld qword [esi + 0x48]
fsub qword [esp + 0x38]
fabs
fld qword [esp + 0x38]
fmul qword [0x10071120]
fcompp
fnstsw ax
and eax, 0x4100
je 0x10059f4f
mov ecx, esi
mov esi, dword [esi + 0x54]
test esi, esi
jne 0x10059eb9
jmp 0x10059fb3
test ecx, ecx
je 0x10059f5b
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x54], eax
jmp 0x10059f60
mov ecx, dword [esi + 0x54]
mov dword [edx], ecx
push esi
mov ecx, edi
mov dword [esi + 0x54], 0
call fcn.10056f90
fld qword [esi + 0x28]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 5
jp 0x10059f8d
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
jmp 0x10059fab
fld qword [esi + 0x28]
fcomp qword [esp + 0x58]
fnstsw ax
and eax, 0x4100
jne 0x10059fab
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x18], 1
fld qword [esp + 0x68]
fadd qword [esp + 0x58]
mov esi, dword [esp + 0x10]
inc esi
mov dword [esp + 0x10], esi
fstp qword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, ebx
call fcn.10055f80
cmp esi, eax
jle 0x10059e92
fld qword [esp + 0x60]
fsub qword [esp + 0x68]
mov ecx, ebx
mov dword [esp + 0x1c], 0
fstp qword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.10055f80
fld qword [esp + 0x68]
fadd qword [esp + 0x58]
mov esi, eax
fstp qword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push ecx
push edx
mov ecx, ebx
call fcn.10055f80
mov edi, dword [esp + 0x24]
cmp esi, eax
jg 0x1005a2b0
mov ecx, dword [ebx]
mov eax, esi
sub eax, ecx
mov ecx, dword [ebx + 8]
lea edx, [ecx + eax*4]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
test ecx, ecx
je 0x1005a0ef
fld qword [ecx + 0x28]
fcomp qword [esp + 0x40]
fnstsw ax
and eax, 0x100
jne 0x1005a0de
fld qword [ecx + 0x28]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jp 0x1005a0de
test edx, edx
je 0x1005a09e
cmp edx, 2
je 0x1005a09e
fld qword [ecx + 0x18]
fcomp qword [edi + 0x20]
fnstsw ax
and eax, 0x100
jne 0x1005a0de
fld qword [esp + 0x38]
fadd qword [edi + 0x20]
fcomp qword [ecx + 0x18]
fnstsw ax
and eax, 0x4100
je 0x1005a0c0
jmp 0x1005a0de
fld qword [ecx + 8]
fcomp qword [edi + 0x10]
fnstsw ax
and eax, 0x100
jne 0x1005a0de
fld qword [esp + 0x38]
fadd qword [edi + 0x10]
fcomp qword [ecx + 8]
fnstsw ax
and eax, 0x4100
jne 0x1005a0de
fld qword [ecx + 0x48]
fsub qword [esp + 0x38]
fabs
fld qword [esp + 0x38]
fmul qword [0x10071120]
fcompp
fnstsw ax
and eax, 0x4100
je 0x1005a0eb
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x1005a053
jmp 0x1005a0ef
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
add eax, 4
push ecx
push edx
mov ecx, ebx
inc esi
mov dword [esp + 0x18], eax
call fcn.10055f80
cmp esi, eax
jle 0x1005a041
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x1005a2b0
cmp eax, 3
jg 0x1005a2b0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov ecx, ebx
call fcn.10055f80
mov edx, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0x30]
push edx
push eax
mov ecx, ebx
mov dword [esp + 0x18], esi
call fcn.10055f80
cmp esi, eax
jg 0x1005a2b0
mov edx, dword [esp + 0x10]
mov esi, dword [ebx]
mov eax, dword [ebx + 8]
sub edx, esi
xor ecx, ecx
mov esi, dword [eax + edx*4]
lea edx, [eax + edx*4]
test esi, esi
je 0x1005a282
fld qword [esp + 0x60]
fsub qword [esp + 0x68]
fstp qword [esp + 0x40]
fld qword [esi + 0x28]
fcomp qword [esp + 0x40]
fnstsw ax
and eax, 0x100
jne 0x1005a20f
fld qword [esi + 0x28]
fcomp qword [esp + 0x30]
fnstsw ax
test ah, 0x41
jp 0x1005a20f
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1005a1cf
cmp eax, 2
je 0x1005a1cf
fld qword [esi + 0x18]
fcomp qword [edi + 0x20]
fnstsw ax
and eax, 0x100
jne 0x1005a20f
fld qword [esp + 0x38]
fadd qword [edi + 0x20]
fcomp qword [esi + 0x18]
fnstsw ax
and eax, 0x4100
je 0x1005a1f1
jmp 0x1005a20f
fld qword [esi + 8]
fcomp qword [edi + 0x10]
fnstsw ax
and eax, 0x100
jne 0x1005a20f
fld qword [esp + 0x38]
fadd qword [edi + 0x10]
fcomp qword [esi + 8]
fnstsw ax
and eax, 0x4100
jne 0x1005a20f
fld qword [esi + 0x48]
fsub qword [esp + 0x38]
fabs
fld qword [esp + 0x38]
fmul qword [0x10071120]
fcompp
fnstsw ax
and eax, 0x4100
je 0x1005a21e
mov ecx, esi
mov esi, dword [esi + 0x54]
test esi, esi
jne 0x1005a180
jmp 0x1005a282
test ecx, ecx
je 0x1005a22a
mov edx, dword [esi + 0x54]
mov dword [ecx + 0x54], edx
jmp 0x1005a22f
mov eax, dword [esi + 0x54]
mov dword [edx], eax
push esi
mov ecx, edi
mov dword [esi + 0x54], 0
call fcn.10056f90
fld qword [esi + 0x28]
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 5
jp 0x1005a25c
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
jmp 0x1005a27a
fld qword [esi + 0x28]
fcomp qword [esp + 0x58]
fnstsw ax
and eax, 0x4100
jne 0x1005a27a
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x18], 1
fld qword [esp + 0x68]
fadd qword [esp + 0x58]
mov esi, dword [esp + 0x10]
mov ecx, ebx
inc esi
mov dword [esp + 0x10], esi
fstp qword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.10055f80
cmp esi, eax
jle 0x1005a159
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10059801
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x84]
push ecx
push edx
push eax
mov ecx, edi
call fcn.10057060
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1005a2e0
mov dword [eax + 0x54], edi
jmp 0x1005a2e4
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x20]
mov ecx, dword [edi + 0x48]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x54], edi
mov edx, dword [esp + eax*4 + 0xa8]
add edx, ecx
mov dword [esp + eax*4 + 0xa8], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x84]
inc ecx
mov dword [eax + 0x84], ecx
mov eax, dword [esp + 0x28]
jmp 0x100596a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + esi*4 + 0xa8]
mov edx, dword [eax + 0x88]
cmp ecx, dword [esp + edx*4 + 0xa8]
jle 0x1005a33d
mov dword [eax + 0x88], esi
inc esi
cmp esi, 4
mov dword [esp + 0x20], esi
jl 0x10059680
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], 0
test eax, eax
mov dword [esp + 0x28], eax
je 0x1005a3d5
mov edx, dword [esp + 0x28]
mov edi, dword [edx + 0x3c]
test edi, edi
je 0x1005a3c6
mov esi, dword [edi + 0x30]
test esi, esi
je 0x1005a3bf
mov eax, dword [esi + 0x3c]
xor ebx, ebx
test eax, eax
jle 0x1005a3b8
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + ebx*4]
push ecx
call fcn.1005c320
add esp, 4
test eax, eax
je 0x1005a394
mov eax, dword [esp + 0x18]
inc eax
jmp 0x1005a3ac
mov edx, dword [esi + 0x30]
mov eax, dword [edx + ebx*4]
push eax
call fcn.1005c360
add esp, 4
test eax, eax
je 0x1005a3b0
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x3c]
inc ebx
cmp ebx, eax
jl 0x1005a37a
mov esi, dword [esi + 0x54]
test esi, esi
jne 0x1005a371
mov edi, dword [edi + 0x50]
test edi, edi
jne 0x1005a36a
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x54]
test eax, eax
mov dword [esp + 0x28], eax
jne 0x1005a35f
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov eax, dword [ebp + 8]
xor edx, edx
test ecx, ecx
setge dl
test eax, eax
mov dword [edi + 0x8c], edx
je 0x1005a4b5
fld qword [ebp + 0xc]
fcomp qword [0x10071140]
fnstsw ax
test ah, 0x44
jnp 0x1005a4b5
mov eax, dword [edi + 0x84]
push 4
push eax
call fcn.10032570
mov ebx, dword [esp + 0x34]
add esp, 8
test ebx, ebx
mov dword [edi + 0x80], eax
je 0x1005a6eb
fld qword [ebp + 0xc]
xor edi, edi
mov edx, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [edx + 0x80]
mov dword [edi + ecx], ebx
mov ecx, dword [edx + 0x88]
cmp ecx, 3
ja case.default.0x1005a44b
jmp dword [ecx*4 + 0x1005a9e4]
fld qword [ebx + 8]
jmp 0x1005a46a
fld qword [ebx + 0x18]
jmp 0x1005a46a
fld qword [edx + 8]
fsub qword [ebx + 0x10]
jmp 0x1005a46a
fld qword [edx + 0x10]
fsub qword [ebx + 0x20]
fdiv st(1)
fadd qword [0x10071138]
call fcn.10061a70
mov ecx, dword [ebx + 0x3c]
mov dword [ebx + 0x4c], eax
test ecx, ecx
je 0x1005a4a0
mov esi, dword [ecx + 0x44]
xor edx, edx
test esi, esi
jl 0x1005a499
mov esi, dword [ecx + 0x40]
add dword [esi + edx*4], eax
lea esi, [esi + edx*4]
inc edx
cmp edx, dword [ecx + 0x44]
jle 0x1005a48a
mov ecx, dword [ecx + 0x50]
test ecx, ecx
jne 0x1005a481
mov ebx, dword [ebx + 0x54]
add edi, 4
test ebx, ebx
jne 0x1005a431
mov edi, dword [esp + 0x14]
fstp st(0)
jmp 0x1005a6eb
mov edx, dword [edi + 0x84]
push 4
push edx
call fcn.10032570
mov dword [edi + 0x80], eax
mov eax, dword [esp + 0x34]
add esp, 8
test eax, eax
je 0x1005a4ea
xor ecx, ecx
mov edx, dword [edi + 0x80]
add ecx, 4
mov dword [ecx + edx - 4], eax
mov eax, dword [eax + 0x54]
test eax, eax
jne 0x1005a4d6
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x80]
push 0x10057a80
push 4
push eax
push ecx
call fcn.1006205b
mov eax, dword [edi + 0x84]
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], 0
jle 0x1005a6eb
mov dword [esp + 0x18], 0
mov eax, dword [edi + 0x80]
mov ecx, dword [esp + 0x18]
test ecx, ecx
mov ebx, dword [ecx + eax]
mov dword [esp + 0x2c], 0
jle 0x1005a692
mov edx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x88]
mov esi, dword [eax]
xor eax, eax
cmp ecx, 3
ja case.default.0x1005a565
jmp dword [ecx*4 + 0x1005a9f4]
fld qword [ebx + 8]
fcomp qword [esi + 0x10]
fnstsw ax
and eax, 0x4100
jne 0x1005a58a
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x4c]
lea eax, [ecx + edx + 3]
jmp case.default.0x1005a565
fld qword [esi + 0x10]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x44
jp 0x1005a59f
mov eax, dword [esi + 0x4c]
jmp case.default.0x1005a565
fld qword [ebx + 8]
fsub qword [esi + 8]
fld qword [esi + 0x10]
fsub qword [esi + 8]
jmp 0x1005a661
fld qword [ebx + 0x18]
fcomp qword [esi + 0x20]
fnstsw ax
and eax, 0x4100
jne 0x1005a5ce
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x4c]
lea eax, [eax + ecx + 3]
jmp case.default.0x1005a565
fld qword [esi + 0x20]
fcomp qword [esi + 0x18]
fnstsw ax
test ah, 0x44
jp 0x1005a5e3
mov eax, dword [esi + 0x4c]
jmp case.default.0x1005a565
fld qword [ebx + 0x18]
fsub qword [esi + 0x18]
fld qword [esi + 0x20]
fsub qword [esi + 0x18]
jmp 0x1005a661
fld qword [ebx + 0x10]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x1005a60a
mov edx, dword [esi + 0x50]
mov eax, dword [esi + 0x4c]
lea eax, [edx + eax + 3]
jmp case.default.0x1005a565
fld qword [esi + 8]
fcomp qword [esi + 0x10]
fnstsw ax
test ah, 0x44
jp 0x1005a61c
mov eax, dword [esi + 0x4c]
jmp case.default.0x1005a565
fld qword [ebx + 0x10]
fsub qword [esi + 0x10]
fld qword [esi + 8]
fsub qword [esi + 0x10]
jmp 0x1005a661
fld qword [ebx + 0x20]
fcomp qword [esi + 0x18]
fnstsw ax
test ah, 5
jp 0x1005a643
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x4c]
lea eax, [ecx + edx + 3]
jmp case.default.0x1005a565
fld qword [esi + 0x18]
fcomp qword [esi + 0x20]
fnstsw ax
test ah, 0x44
jp 0x1005a655
mov eax, dword [esi + 0x4c]
jmp case.default.0x1005a565
fld qword [ebx + 0x20]
fsub qword [esi + 0x20]
fld qword [esi + 0x18]
fsub qword [esi + 0x20]
fdivp st(1)
fimul dword [esi + 0x50]
call fcn.10061a70
add eax, dword [esi + 0x4c]
cmp eax, dword [esp + 0x2c]
jle 0x1005a678
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
add ecx, 4
dec eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x54], eax
jne 0x1005a54e
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x4c], eax
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x1005a6c9
mov edx, dword [eax + 0x44]
xor ecx, ecx
test edx, edx
jl 0x1005a6c2
mov esi, dword [esp + 0x2c]
mov edx, dword [eax + 0x40]
mov ebx, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
add ebx, esi
inc ecx
mov dword [edx], ebx
mov edx, dword [eax + 0x44]
cmp ecx, edx
jle 0x1005a6ad
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x1005a6a0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 0x84]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
jl 0x1005a525
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x80]
push 0x10057b60
push 4
push eax
push ecx
call fcn.1006205b
mov eax, dword [edi + 0x84]
add esp, 0x10
xor ebx, ebx
test eax, eax
jle 0x1005a74c
mov edx, dword [edi + 0x80]
xor esi, esi
test eax, eax
mov ecx, dword [edx + ebx*4]
jle 0x1005a741
mov eax, dword [edi + 0x80]
mov eax, dword [eax + esi*4]
cmp eax, ecx
je 0x1005a736
push eax
call fcn.10057900
mov eax, dword [edi + 0x84]
inc esi
cmp esi, eax
jl 0x1005a723
mov eax, dword [edi + 0x84]
inc ebx
cmp ebx, eax
jl 0x1005a714
mov ebx, dword [esp + 0x14]
push 4
mov ecx, dword [ebx + 0x84]
push ecx
call fcn.10032570
mov ecx, dword [ebx + 0x84]
mov esi, dword [ebx + 0x80]
shl ecx, 2
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x24], eax
and ecx, 3
xor eax, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 0x7c], eax
mov ebx, dword [ebx + 0x84]
add esp, 8
cmp ebx, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], ebx
jle 0x1005a99f
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x54]
cmp dword [ecx], 0
mov eax, dword [esp + 0x2c]
jne 0x1005a7c7
mov edx, dword [esp + 0x1c]
inc eax
cmp dword [edx + eax*4], 0
je 0x1005a7b8
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
lea esi, [eax + 1]
mov ebx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [edx + 0x84]
mov dword [esp + 0x54], ecx
cmp esi, eax
mov dword [esp + 0x28], eax
jge 0x1005a82f
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x1005a826
test ebx, ebx
je 0x1005a814
push edi
mov ecx, ebx
call fcn.10057cc0
fcomp qword [0x10071140]
fnstsw ax
and eax, 0x4100
je 0x1005a82f
push ebx
mov ecx, edi
call fcn.10057c40
test eax, eax
jge 0x1005a826
mov dword [esp + 0x10], esi
mov ebx, edi
mov eax, dword [esp + 0x28]
inc esi
cmp esi, eax
jl 0x1005a7ee
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
push 0x48
dec edi
mov dword [ecx + edx*4], 0
mov dword [esp + 0x1c], edi
mov dword [ebx + 0x54], 0
call fcn.10060e1a
add esp, 4
test eax, eax
je 0x1005a86b
mov ecx, dword [esp + 0x14]
push ebx
push ecx
mov ecx, eax
call fcn.10057e20
jmp 0x1005a86d
xor eax, eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x1005a87e
mov dword [ecx + 0x40], eax
jmp 0x1005a885
mov edx, dword [esp + 0x14]
mov dword [edx + 0x7c], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x58], 0
mov dword [esp + 0x40], eax
mov ecx, dword [ebx + 0x3c]
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [esp + 0x10], 0xffffffff
mov edx, dword [ecx + 0x30]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0x84]
mov dword [esp + 0x24], ecx
fld qword [edx + 0x48]
fmul qword [0x10071f28]
cmp ecx, eax
mov dword [esp + 0x28], eax
fstp qword [esp + 0x88]
jge 0x1005a988
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov edi, dword [ecx + edx*4]
test edi, edi
je 0x1005a938
push edi
mov ecx, ebx
call fcn.10057cc0
fcomp qword [esp + 0x88]
fnstsw ax
and eax, 0x4100
je 0x1005a949
test esi, esi
je 0x1005a914
push edi
mov ecx, esi
call fcn.10057cc0
fcomp qword [0x10071140]
fnstsw ax
and eax, 0x4100
je 0x1005a949
push ebx
mov ecx, edi
call fcn.10057d30
test eax, eax
je 0x1005a938
test esi, esi
je 0x1005a92e
push esi
call fcn.10057c40
test eax, eax
jge 0x1005a938
mov eax, dword [esp + 0x24]
mov esi, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x1005a8d2
test esi, esi
je 0x1005a988
mov ecx, dword [esp + 0x20]
push ebx
push esi
call fcn.10057f50
test eax, eax
je 0x1005a988
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push esi
mov dword [edx + eax*4], 0
mov edx, dword [esp + 0x1c]
dec edx
mov dword [esi + 0x54], 0
mov dword [esp + 0x1c], edx
call fcn.10057ec0
mov dword [esi + 0x58], ebx
mov ebx, esi
jmp 0x1005a98b
mov ebx, dword [ebx + 0x58]
test ebx, ebx
jne 0x1005a894
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x1005a7ab
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.10032620
mov ecx, dword [esp + 0x88]
add esp, 4
test ecx, ecx
je 0x1005a9bc
call fcn.1005c100
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10