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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
push ebx
push esi
mov esi, dword [0x10103fe8]
push edi
mov edi, esi
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x6c], edi
mov eax, dword [edi + 0x3e38]
mov byte [eax + 0xa8], 1
mov ebx, dword [edi + 0x3e38]
mov dword [ebp - 0x5c], ebx
cmp byte [ebx + 0xab], 0
jne 0x10059450
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x1a
mov dword [ebp - 0x34], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0x10], ecx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xa8], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x40], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x90], eax
test dl, dl
je 0x10058fcf
call fcn.10035f10
mov esi, dword [0x10103fe8]
mov ecx, dword [ebx + 0xe0]
xor edx, edx
mov eax, dword [ebx + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0xbc]
call fcn.10028300
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x3e6c], eax
jne 0x10059016
push ecx
push dword [ebp - 0xbc]
mov edx, 0xb
mov ecx, eax
call fcn.1003ce00
mov esi, dword [0x10103fe8]
add esp, 8
mov edx, dword [ebp - 0xbc]
mov eax, edx
cmp edx, 0xffffffff
jae 0x10059039
mov cl, byte [eax]
test cl, cl
je 0x10059039
cmp cl, 0x23
jne 0x10059033
cmp byte [eax + 1], cl
je 0x10059039
inc eax
cmp eax, 0xffffffff
jb 0x10059023
movss xmm0, dword [0x100f206c]
xorps xmm1, xmm1
movss xmm4, dword [esi + 0x3bc8]
movss dword [ebp - 0x70], xmm0
cmp edx, eax
jne 0x1005905f
movss dword [ebp - 0xf0], xmm1
jmp 0x100590a8
push 0
push eax
push edx
push ecx
mov ecx, dword [esi + 0x3bc4]
lea eax, [ebp - 0x48]
mov dword [esp], 0xbf800000
movaps xmm3, xmm0
push eax
movaps xmm2, xmm4
call fcn.1004b9c0
movss xmm0, dword [ebp - 0x48]
xorps xmm1, xmm1
addss xmm0, dword [0x100f1ebc]
movss xmm4, dword [ebp - 0x44]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xf0], xmm0
cmp byte [ebp - 0x18], 0
je 0x100590be
movss xmm4, dword [edi + 0x3bc8]
mulss xmm4, dword [0x100f1fb8]
test byte [esi + 0x4698], 1
mov eax, dword [esi + 0x3e38]
je 0x100590d7
movss xmm0, dword [esi + 0x469c]
jmp 0x100590df
movss xmm0, dword [eax + 0x19c]
comiss xmm1, xmm0
movss xmm2, dword [0x100f1ec4]
jbe 0x10059121
cmp dword [eax + 0x18c], 0
movss xmm1, dword [eax + 0x224]
jne 0x10059106
cmp dword [esi + 0x49dc], 0
je 0x1005910e
movss xmm1, dword [eax + 0x1f4]
subss xmm1, dword [eax + 0xec]
addss xmm1, xmm0
movaps xmm0, xmm2
maxss xmm0, xmm1
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x48]
movss xmm1, dword [edi + 0x37d8]
movaps xmm2, xmm1
addss xmm2, xmm1
push dword [eax + 4]
push dword [eax]
cvttss2si eax, xmm0
addss xmm2, xmm4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10035e30
movss xmm1, dword [ebp - 0xf0]
xorps xmm0, xmm0
add esp, 8
comiss xmm1, xmm0
jbe 0x1005916f
movaps xmm2, xmm1
addss xmm2, dword [edi + 0x37ec]
jmp 0x10059172
xorps xmm2, xmm2
movss xmm4, dword [ebx + 0xf0]
lea eax, [ebp - 0x190]
movss xmm6, dword [ebp - 0x44]
movaps xmm0, xmm4
movss xmm5, dword [ebp - 0x48]
addss xmm0, xmm6
movss xmm3, dword [ebx + 0xec]
addss xmm2, xmm5
movaps xmm1, xmm3
movss dword [ebp - 8], xmm3
addss xmm1, xmm5
movss dword [ebp - 0x9c], xmm5
push 0x3c
movss dword [ebp - 0xc8], xmm0
movaps xmm0, xmm4
addss xmm2, xmm3
movss dword [ebp - 0x30], xmm4
addss xmm0, xmm6
movss dword [ebp - 0x8c], xmm6
push 0
push eax
movss dword [ebp - 0xd4], xmm3
movss dword [ebp - 0xd0], xmm4
movss dword [ebp - 0xcc], xmm1
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x50], xmm0
movss dword [ebp - 0x88], xmm3
movss dword [ebp - 0x84], xmm4
movss dword [ebp - 0x80], xmm2
movss dword [ebp - 0x7c], xmm0
mov dword [ebp - 0x54], ebx
call fcn.1006a800
movss xmm1, dword [ebp - 0x50]
lea ecx, [ebp - 0x48]
subss xmm1, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x20]
add esp, 0xc
subss xmm0, dword [ebp - 8]
movss dword [ebp - 0x44], xmm1
movss xmm1, dword [edi + 0x37d8]
movss dword [ebp - 0x48], xmm0
call fcn.10035920
cmp byte [ebp - 0x18], 0
je 0x100594c3
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0xd4]
push 0x400
push eax
lea ecx, [ebp - 0x88]
call fcn.10035a80
add esp, 8
test al, al
je 0x1005944b
movups xmm0, xmmword [edi + 0x46ac]
mov eax, dword [edi + 0x46b4]
mov esi, dword [0x10103fe8]
movups xmmword [ebp - 0x190], xmm0
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0xe8]
movups xmm0, xmmword [edi + 0x46bc]
push eax
lea ecx, [esi + 0x4748]
mov dword [ebp - 0xe8], 3
movups xmmword [ebp - 0x180], xmm0
movups xmm0, xmmword [edi + 0x46cc]
movups xmmword [ebp - 0x170], xmm0
movq xmm0, qword [edi + 0x46dc]
movq qword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 8]
movss dword [ebx + 0xec], xmm0
movss xmm0, dword [ebp - 0x30]
movss dword [ebx + 0xf0], xmm0
movups xmm0, xmmword [esi + 0x38a4]
movups xmmword [ebp - 0xe4], xmm0
call fcn.1003d290
movups xmm0, xmmword [edi + 0x38e4]
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 7
push eax
movups xmmword [esi + 0x38a4], xmm0
mov esi, dword [0x10103fe8]
movss xmm0, dword [edi + 0x37dc]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [esi + 0x37c4]
lea ecx, [esi + 0x4754]
movss dword [ebp - 0x48], xmm0
call fcn.1003d1d0
movss xmm0, dword [ebp - 0x20]
lea eax, [ebp - 0x4c]
movss dword [esi + 0x37c4], xmm0
mov esi, dword [0x10103fe8]
movss xmm0, dword [edi + 0x37e0]
movss dword [ebp - 0x20], xmm0
push eax
movss xmm0, dword [esi + 0x37c8]
lea ecx, [esi + 0x4754]
mov dword [ebp - 0x4c], 8
movss dword [ebp - 0x48], xmm0
call fcn.1003d1d0
movss xmm0, dword [ebp - 0x20]
lea eax, [ebp - 0x4c]
movss dword [esi + 0x37c8], xmm0
mov esi, dword [0x10103fe8]
push eax
mov dword [ebp - 0x4c], 2
movss xmm1, dword [esi + 0x37a0]
lea ecx, [esi + 0x4754]
movss xmm0, dword [esi + 0x37a4]
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x44], xmm0
call fcn.1003d1d0
movss xmm0, dword [ebp - 0xcc]
lea eax, [ebp - 0x48]
subss xmm0, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xbc]
push 4
mov dword [esi + 0x37a0], 0
mov dword [esi + 0x37a4], 0
mov esi, dword [ebp - 0x14]
mov edx, esi
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [ebp - 0xc8]
subss xmm0, dword [ebp - 0xd0]
push 1
push eax
movss dword [ebp - 0x44], xmm0
call fcn.1002e380
add esp, 0xc
mov ecx, 3
mov bl, al
call fcn.10028fe0
mov eax, 1
mov ecx, eax
call fcn.10028f90
test bl, bl
jne 0x10059459
call fcn.1002e600
call fcn.10036040
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x3e38]
mov dword [ebp - 0x54], edx
movsx ecx, word [edx + 0x14a]
mov eax, dword [edx + 0x144]
bts ecx, eax
mov word [edx + 0x14a], cx
movss xmm0, dword [edi + 0x37d4]
addss xmm0, dword [edx + 0xec]
movss dword [edx + 0xec], xmm0
movss xmm0, dword [edi + 0x37d8]
addss xmm0, dword [edx + 0xf0]
movss dword [edx + 0xf0], xmm0
movss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [edx + 0x9c]
movss dword [ebp - 0x9c], xmm0
jmp 0x100594fc
test dword [ebp - 0x10], 0x10000000
mov esi, dword [ebp - 0x14]
jne 0x100594f3
lea eax, [ebp - 0xd4]
mov edx, esi
push 0x400
push eax
lea ecx, [ebp - 0x88]
call fcn.10035a80
add esp, 8
test al, al
je 0x10059450
mov eax, dword [edi + 0x46b4]
mov dword [ebp - 0x58], eax
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.1002b220
mov cl, al
mov byte [ebp - 0x35], cl
test cl, cl
je 0x1005951c
mov dword [edi + 0x4938], 1
mov ebx, dword [0x10103fe8]
test esi, esi
je 0x10059536
cmp dword [ebx + 0x4a80], esi
jne 0x10059536
add ebx, 0x4a7c
jmp 0x10059538
xor ebx, ebx
mov eax, dword [ebp - 0x58]
shr eax, 8
and al, 1
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 0x3e84]
cmp eax, esi
je 0x10059573
cmp dword [edi + 0x47c4], esi
jne 0x10059573
test byte [edi + 0x47d0], 1
jne 0x1005956d
cmp dword [edi + 0x47e8], 2
jne 0x10059573
mov byte [ebp - 0xa], 1
jmp 0x10059577
mov byte [ebp - 0xa], 0
test cl, cl
je 0x10059588
cmp byte [edi + 0x36f8], 0
mov byte [ebp - 0xb], 1
jne 0x1005958c
mov byte [ebp - 0xb], 0
cmp byte [ebp - 0x18], 0
je 0x100595ef
test ebx, ebx
je 0x100595ef
test eax, eax
jne 0x100595ef
mov eax, dword [ebp - 0x54]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x100f1454
call fcn.10028300
mov ecx, dword [0x10103fe8]
mov esi, eax
add esp, 4
cmp dword [ecx + 0x3e6c], esi
jne 0x100595e1
push ecx
push 0x100f1454
mov edx, 0xb
mov ecx, esi
call fcn.1003ce00
add esp, 8
cmp dword [edi + 0x3eac], esi
jne 0x100595ef
mov byte [ebp - 4], 1
jmp 0x10059602
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0
test al, al
je 0x10059668
mov byte [ebp - 4], 0
test ebx, ebx
je 0x10059668
mov eax, dword [ebp - 0x54]
mov ecx, 0x100f1454
mov edx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.10028300
mov ecx, dword [0x10103fe8]
mov esi, eax
add esp, 4
cmp dword [ecx + 0x3e6c], esi
jne 0x10059649
push ecx
push 0x100f1454
mov edx, 0xb
mov ecx, esi
call fcn.1003ce00
add esp, 8
mov eax, dword [ebp - 0x18]
cmp dword [edi + 0x3e84], esi
jne 0x10059668
mov edx, dword [ebp - 0x54]
mov cl, 1
mov byte [ebp - 2], cl
movss xmm0, dword [edx + 0x78]
movss dword [ebp - 0x70], xmm0
jmp 0x10059685
xor cl, cl
mov byte [ebp - 2], cl
test al, al
je 0x10059680
mov edx, dword [ebp - 0x54]
movss xmm0, dword [edx + 0x78]
movss dword [ebp - 0x70], xmm0
jmp 0x10059685
xor cl, cl
mov byte [ebp - 2], cl
test ebx, ebx
je 0x10059694
xor al, 1
cmp byte [ebx + 0x57], al
je 0x10059694
mov al, 1
jmp 0x10059696
xor al, al
cmp byte [ebp - 0xb], 0
mov edx, dword [ebp + 8]
mov byte [ebp - 0x1a], al
mov dword [ebp - 0x28], edx
jne 0x100596c4
cmp byte [ebp - 4], 0
jne 0x100596c4
cmp byte [ebp - 0xa], 0
jne 0x100596c4
cmp byte [ebp - 0x58], 0
jne 0x100596c4
mov byte [ebp - 1], 0
test cl, cl
jne 0x100596c8
mov byte [ebp - 0xc], cl
jmp 0x100596d7
mov byte [ebp - 1], 1
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 0xc], 1
cmp dword [edi + 0x3e84], ecx
jne 0x100596e3
mov byte [ebp - 0x24], 0
test al, al
je 0x10059919
mov esi, edx
mov dword [edi + 0x58e8], 0xbe99999a
lea ebx, [edi + 0x4a7c]
mov dword [ebp - 0xa0], ebx
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x10059700
mov eax, dword [ebx + 0x2c]
sub esi, ecx
lea edx, [esi + 1]
cmp edx, eax
jle 0x1005973e
test eax, eax
je 0x10059726
cdq
sub eax, edx
lea edx, [esi + 1]
mov ecx, eax
sar ecx, 1
add ecx, dword [ebx + 0x2c]
jmp 0x1005972b
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [ebx + 0x28]
push eax
call fcn.1003d850
lea edx, [esi + 1]
push edx
push dword [ebp - 0x28]
mov dword [ebx + 0x28], edx
push dword [ebx + 0x30]
call fcn.1006bcf0
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [ebx + 4], eax
jne 0x10059780
cmp byte [ebp - 0x1a], 0
jne 0x10059780
mov byte [ebp - 4], 1
cmp dword [ebx + 0xc], esi
jne 0x10059780
cmp byte [ebx + 0x34], 0
je 0x10059784
push esi
push dword [ebp - 0x28]
push dword [ebx + 0x24]
call 0x100756d0
add esp, 0xc
test eax, eax
je 0x10059784
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov dword [ebx + 4], eax
inc edx
mov esi, dword [ebx + 0x14]
lea eax, [ebx + 0x10]
mov dword [ebp - 8], edx
cmp edx, esi
jle 0x100597ca
test esi, esi
je 0x100597af
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 8]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x100597b4
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [ebx + 0x10]
push eax
call fcn.1003d8c0
mov edx, dword [ebp - 8]
lea eax, [ebx + 0x10]
mov dword [eax], edx
mov ecx, dword [ebx + 0x20]
test ecx, ecx
jns 0x100597ec
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x1c]
call fcn.1003d850
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x28]
dec ecx
mov dword [ebx + 0x1c], 0
mov edx, dword [ebx + 0x18]
mov esi, edx
mov byte [ebx + 0x34], 0
mov dword [ebp - 8], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x10059847
mov edi, eax
nop
cmp byte [edi], 0
je 0x1005983e
push 0
mov edx, edi
lea ecx, [ebp - 0x20]
call fcn.10028560
mov edx, dword [ebp - 8]
add edi, eax
mov ax, word [ebp - 0x20]
add esp, 4
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x10059810
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x28]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
mov dl, byte [ebp - 4]
sar esi, 1
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
test dl, dl
je 0x10059881
cmp dword [ebx + 0x40], esi
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x48], esi
cmovl esi, dword [ebx + 0x48]
mov dword [ebx + 0x48], esi
jmp 0x100598be
mov al, byte [ebp - 0x18]
xor al, 1
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0xe5e], 0x630000
mov dword [ebx + 0xe64], ecx
mov dword [ebx + 0xe68], 0x3e7
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x40], ecx
mov word [ebx + 0x55], 1
mov dword [ebx + 0x5c], ecx
mov byte [ebx + 0x54], cl
mov byte [ebx + 0x57], al
mov byte [ebx + 0x4c], cl
mov dword [ebx + 0x50], ecx
cmp byte [ebp - 0x18], 0
mov dword [ebx + 0x44], ecx
mov byte [ebp - 0x24], 0
jne 0x1005990c
mov eax, dword [ebp - 0x10]
shr eax, 4
and eax, 0xffffff01
cmp byte [ebp - 0xa], 0
mov dword [ebp - 0x24], eax
je 0x100598f3
test dl, dl
je 0x100598ef
test byte [edi + 0x47d0], 4
mov dword [ebp - 0x24], eax
jne 0x100598f3
mov byte [ebp - 0x24], 1
cmp byte [ebp - 0x58], 0
jne 0x10059908
cmp byte [ebp - 0xb], 0
je 0x1005990c
cmp byte [edi + 0xdd4], 0
je 0x1005990c
mov byte [ebp - 0x24], 1
test dword [ebp - 0x10], 0x2000
je 0x10059919
mov byte [ebx + 0x4c], 1
mov cl, byte [edi + 0x61]
mov eax, dword [edi + 0x3e84]
mov esi, dword [ebp - 0x14]
mov byte [ebp - 0x29], cl
cmp eax, esi
je 0x10059968
cmp byte [ebp - 1], 0
je 0x10059a5d
mov esi, dword [ebp - 0x5c]
mov edx, esi
mov ecx, dword [ebp - 0x14]
call fcn.1002af90
mov ecx, dword [ebp - 0x14]
mov edx, esi
call fcn.10037810
mov ecx, esi
call fcn.10033150
mov eax, dword [edi + 0x3e84]
mov esi, dword [ebp - 0x14]
mov cl, byte [ebp - 0x29]
cmp eax, esi
jne 0x10059a5d
cmp byte [ebp - 0xb], 0
je 0x10059988
mov eax, dword [0x10103fe8]
mov dword [eax + 0x44d0], esi
mov dword [eax + 0x44cc], esi
mov word [eax + 0x44d4], 0
mov eax, dword [edi + 0x4680]
or eax, 3
cmp byte [ebp - 0x18], 0
mov dword [edi + 0x4680], eax
jne 0x100599a4
mov edx, dword [ebp - 0x10]
test dl, dl
jns 0x100599ad
or eax, 0xc
mov dword [edi + 0x4680], eax
cmp byte [ebp - 0x18], 0
mov eax, dword [0x10103fe8]
mov dword [eax + 0x3f18], esi
mov dword [eax + 0x3f14], esi
mov word [eax + 0x3f1c], 0
mov dword [eax + 0x3f24], esi
mov dword [eax + 0x3f20], esi
mov word [eax + 0x3f28], 0
je 0x10059a0c
mov dword [eax + 0x3f00], esi
mov dword [eax + 0x3efc], esi
mov word [eax + 0x3f04], 0
mov dword [eax + 0x3f0c], esi
mov dword [eax + 0x3f08], esi
mov word [eax + 0x3f10], 0
test cl, cl
je 0x10059a3a
mov ecx, 0x4000
call fcn.100277b0
lea ecx, [eax + eax*2]
mov eax, dword [0x10103fe8]
mov dword [eax + ecx*4 + 0x26c4], esi
mov dword [eax + ecx*4 + 0x26c0], esi
mov word [eax + ecx*4 + 0x26c8], 0
test dword [ebp - 0x10], 0x440
je 0x10059a5d
mov eax, dword [0x10103fe8]
mov dword [eax + 0x3ec4], esi
mov dword [eax + 0x3ec0], esi
mov word [eax + 0x3ec8], 0
mov eax, dword [edi + 0x3e84]
cmp eax, esi
jne 0x10059aa3
test ebx, ebx
jne 0x10059a7a
call fcn.1002b0c0
mov eax, dword [edi + 0x3e84]
cmp eax, esi
jne 0x10059aa3
cmp byte [edi + 0x36f8], 0
mov byte [ebp - 9], 0
je 0x10059ab1
cmp byte [ebp - 0xc], 0
mov byte [ebp - 9], 0
jne 0x10059ab1
cmp byte [ebp - 1], 0
mov byte [ebp - 9], 0
jne 0x10059ab1
mov byte [ebp - 9], 1
mov cl, 1
jmp 0x10059aba
test ebx, ebx
je 0x10059ab5
cmp byte [ebp - 2], 0
mov byte [ebp - 9], 0
je 0x10059ab5
mov cl, 1
jmp 0x10059aba
xor cl, cl
mov byte [ebp - 9], cl
mov byte [ebp - 3], cl
test ebx, ebx
je 0x10059ad7
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
jne 0x10059acf
cmp byte [ebp - 0x24], 0
je 0x10059ad7
test cl, cl
je 0x10059ad7
mov al, 1
jmp 0x10059ad9
xor al, al
mov edx, dword [ebp - 0x34]
mov byte [ebp - 2], al
mov byte [ebp - 0x62], 0
mov byte [ebp - 0x1a], 0
test dl, dl
je 0x10059bd5
test ebx, ebx
je 0x10059bd5
test cl, cl
jne 0x10059b03
test al, al
je 0x10059bdd
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x14]
inc esi
cmp esi, eax
jle 0x10059b38
test eax, eax
je 0x10059b21
cdq
sub eax, edx
lea edx, [ebx + 0x10]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10059b29
mov ecx, 8
lea edx, [ebx + 0x10]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1003d8c0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x10], esi
mov edx, dword [ebx + 0x18]
mov esi, edx
mov dword [ebp - 8], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x10059b88
mov edi, eax
cmp byte [edi], 0
je 0x10059b7f
push 0
mov edx, edi
lea ecx, [ebp - 0x20]
call fcn.10028560
mov edx, dword [ebp - 8]
add edi, eax
mov ecx, dword [ebp + 0xc]
add esp, 4
mov ax, word [ebp - 0x20]
mov word [esi], ax
add esi, 2
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x10059b52
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x28]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [ebx + 0x40], esi
mov ecx, esi
mov edx, esi
mov dword [ebx + 8], esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], ecx
cmovl edx, dword [ebx + 0x44]
cmp dword [ebx + 0x48], esi
mov dword [ebx + 0xc], eax
cmovl esi, dword [ebx + 0x48]
xor ecx, ecx
movzx eax, byte [ebp - 2]
cmp edx, esi
mov dword [ebx + 0x44], edx
mov edx, dword [ebp - 0x34]
cmovne ecx, eax
mov al, cl
mov dword [ebx + 0x48], esi
mov esi, dword [ebp - 0x14]
mov cl, byte [ebp - 3]
mov byte [ebp - 2], al
test cl, cl
jne 0x10059be5
test al, al
jne 0x10059be5
cmp dword [edi + 0x3e84], esi
jne 0x10059bf6
test dl, dl
jne 0x10059bf6
test ebx, ebx
je 0x10059bf6
mov byte [ebp - 0x61], 1
cmp byte [ebx + 0x34], dl
jne 0x10059bfa
mov byte [ebp - 0x61], 0
cmp byte [ebp - 0xa8], 0
je 0x10059c81
mov edx, dword [edi + 0x3bc4]
cmp dword [edx + 0x14], 0x2a
ja 0x10059c18
mov esi, dword [edx + 0x2c]
jmp 0x10059c37
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x10059c2e
mov esi, dword [edx + 0x2c]
jmp 0x10059c37
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
lea ecx, [edi + 0x58f4]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x3bc4]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi + 0x3bc4]
mov eax, dword [eax + 0x50]
mov dword [ecx + 0x50], eax
mov eax, dword [edi + 0x3bc4]
mov eax, dword [eax + 0x54]
mov dword [ecx + 0x54], eax
mov eax, dword [edi + 0x3bc4]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x2c], esi
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
call fcn.10033430
mov esi, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0xd4]
movss xmm1, dword [0x100f1e80]
mov dword [ebp - 0x50], 0
movss dword [ebp - 0x74], xmm0
cmp dword [edi + 0x3e84], esi
jne 0x1005a171
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x10]
mov byte [ebx + 0xe72], 0
mov dword [ebx + 0xe74], edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x38], eax
mov cl, byte [edi + 0xdc4]
test cl, cl
mov dword [edi + 0x5bfc], 1
sete al
cmp byte [ebp - 0x18], 0
mov byte [edi + 0x3e91], al
movss xmm7, dword [edi + 0xdbc]
subss xmm7, xmm0
subss xmm7, dword [edi + 0x37d4]
addss xmm7, dword [ebx + 0x3c]
je 0x10059d17
mov eax, dword [ebp - 0x54]
movss xmm2, dword [edi + 0xdc0]
subss xmm2, dword [eax + 0xf0]
jmp 0x10059d23
movss xmm2, dword [edi + 0x3bc8]
mulss xmm2, xmm1
cmp byte [ebp - 0x24], 0
je 0x10059d49
mov eax, dword [ebx + 8]
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x40], eax
mov byte [ebx + 0x56], 0
mov byte [ebx + 0xe71], 1
jmp 0x1005a008
mov dl, byte [ebp - 0x35]
test dl, dl
je 0x10059ee3
cmp word [edi + 0x3702], 2
jb 0x10059ee3
cmp byte [edi + 0xdd5], 0
jne 0x10059ee3
cmp byte [ebx + 0x57], 0
je 0x10059d8f
push 0
mov edx, ebx
lea ecx, [ebp - 0xec]
call fcn.100571b0
movss xmm2, dword [ebp - 0xe0]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10057600
mov ecx, eax
mov byte [ebx + 0x56], 0
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x48], ecx
test byte [edi + 0x3702], 1
jne 0x10059e5e
test ecx, ecx
je 0x10059dc8
mov eax, dword [ebx + 0x18]
cmp word [eax + ecx*2 - 2], 0xa
je 0x10059dc8
xor cl, cl
jmp 0x10059dca
mov cl, 1
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
jne 0x10059dd6
test cl, cl
jne 0x10059e01
push 0x20000c
lea edx, [ebx + 0x40]
mov ecx, ebx
call fcn.100579d0
mov eax, dword [ebx + 0x44]
add esp, 4
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
cmp eax, dword [ebx + 0x48]
jne 0x10059e17
mov eax, dword [ebx + 0x48]
cmp dword [ebx + 0x44], eax
jne 0x10059e14
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x44], eax
jmp 0x10059e17
mov dword [ebx + 0x40], eax
mov edx, dword [ebx + 0x40]
mov ecx, ebx
call fcn.10057370
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x48], eax
mov edx, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 8]
cmp ecx, edx
je 0x10059e4d
cmp ecx, eax
jle 0x10059e3d
mov dword [ebx + 0x44], eax
mov ecx, eax
cmp edx, eax
jle 0x10059e46
mov dword [ebx + 0x48], eax
mov edx, eax
cmp ecx, edx
jne 0x10059e4d
mov dword [ebx + 0x40], ecx
cmp dword [ebx + 0x40], eax
jle 0x10059ffb
mov dword [ebx + 0x40], eax
jmp 0x10059ffb
mov eax, dword [ebx + 0x18]
lea edx, [ebx + 0x40]
push 0x200004
movzx esi, word [eax + ecx*2]
mov ecx, ebx
call fcn.100579d0
add esp, 4
mov byte [ebx + 0xe70], 1
lea edx, [ebx + 0x40]
mov dword [ebx + 0xe6c], 0xbe99999a
mov ecx, ebx
push 0x600005
call fcn.100579d0
add esp, 4
mov byte [ebx + 0xe70], 1
lea edx, [ebx + 0x40]
mov dword [ebx + 0xe6c], 0xbe99999a
mov ecx, ebx
push 0x600001
call fcn.100579d0
add esp, 4
cmp esi, 0xa
je 0x10059ed7
cmp byte [ebp - 0x18], 0
je 0x10059ed7
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x48]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x40], ecx
mov byte [ebx + 0xe70], 0
jmp 0x10059ffb
cmp byte [edi + 0x36f8], 0
mov al, byte [ebx + 0xe71]
je 0x10059f89
test al, al
jne 0x10059f89
test dl, dl
je 0x1005a005
cmp byte [edi + 0xdd5], al
je 0x10059f50
cmp byte [ebx + 0x57], al
je 0x10059f2d
push 0
mov edx, ebx
lea ecx, [ebp - 0xec]
call fcn.100571b0
movss xmm2, dword [ebp - 0xe0]
add esp, 4
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
jne 0x10059f3b
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x44], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10057600
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x40], eax
jmp 0x10059ffb
cmp byte [ebx + 0x57], 0
je 0x10059f70
push 0
mov edx, ebx
lea ecx, [ebp - 0xec]
call fcn.100571b0
movss xmm2, dword [ebp - 0xe0]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10057600
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x56], 0
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x40], eax
jmp 0x10059ffb
test cl, cl
je 0x1005a005
test al, al
jne 0x1005a005
movss xmm0, dword [edi + 0xb4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10059fb6
movss xmm0, dword [edi + 0xb8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1005a005
cmp byte [ebx + 0x57], 0
je 0x10059fd6
push 0
mov edx, ebx
lea ecx, [ebp - 0xec]
call fcn.100571b0
movss xmm2, dword [ebp - 0xe0]
add esp, 4
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
jne 0x10059fe4
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x44], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10057600
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x40], eax
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
mov edx, dword [ebp - 0x10]
cmp byte [ebx + 0xe71], 0
je 0x1005a021
cmp byte [edi + 0xdc4], 0
jne 0x1005a021
mov byte [ebx + 0xe71], 0
cmp byte [edi + 0xdd4], 0
je 0x1005a033
cmp byte [edi + 0xdd6], 0
je 0x1005a042
cmp byte [ebp - 0x29], 0
je 0x1005a048
cmp byte [edi + 0xdd7], 0
je 0x1005a048
mov byte [ebp - 1], 1
jmp 0x1005a04c
mov byte [ebp - 1], 0
test edx, 0x400
je 0x1005a200
push 1
xor edx, edx
mov ecx, 0x200
call fcn.10033da0
mov ecx, dword [ebp - 0x34]
add esp, 4
test al, al
mov al, byte [ebp - 1]
je 0x1005a0c8
test al, al
jne 0x1005a0c8
cmp byte [edi + 0xdd5], al
jne 0x1005a0c8
mov edx, dword [ebp - 0x10]
test cl, cl
jne 0x1005a0cb
push 2
sub esp, 8
mov dword [ebp - 8], 9
lea ecx, [ebp - 8]
call fcn.10058be0
add esp, 0xc
test al, al
je 0x1005a0c2
push dword [ebp - 8]
lea edx, [ebx + 0x40]
mov ecx, ebx
call fcn.100579d0
add esp, 4
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
mov ecx, dword [ebp - 0x34]
mov al, byte [ebp - 1]
mov edx, dword [ebp - 0x10]
cmp dword [edi + 0x3770], 0
lea esi, [edi + 0x3770]
jle 0x1005a16e
test al, al
jne 0x1005a149
test cl, cl
jne 0x1005a149
cmp byte [ebp - 0xa], cl
jne 0x1005a149
xor esi, esi
nop dword [eax]
mov eax, dword [edi + 0x3778]
movzx eax, word [eax + esi*2]
mov dword [ebp - 8], eax
cmp eax, 9
je 0x1005a137
push 2
sub esp, 8
lea ecx, [ebp - 8]
call fcn.10058be0
add esp, 0xc
test al, al
je 0x1005a137
push dword [ebp - 8]
lea edx, [ebx + 0x40]
mov ecx, ebx
call fcn.100579d0
add esp, 4
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
mov edx, dword [ebp - 0x10]
inc esi
cmp esi, dword [edi + 0x3770]
jl 0x1005a0f0
lea esi, [edi + 0x3770]
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x1005a168
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.1003d8c0
mov dword [esi], 0
mov esi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x3e84]
xor dl, dl
mov byte [ebp - 1], dl
mov eax, ecx
cmp ecx, esi
jne 0x1005abcf
cmp byte [edi + 0x3e90], dl
jne 0x1005abcf
cmp byte [ebp - 9], dl
jne 0x1005abcf
movss xmm0, dword [ebp - 0x8c]
mov ecx, 1
subss xmm0, dword [edi + 0x37d8]
divss xmm0, dword [edi + 0x3bc8]
cvttss2si eax, xmm0
cmp eax, 1
cmovge ecx, eax
xor esi, esi
mov dword [ebx + 0x50], ecx
mov eax, 0x400000
cmp byte [edi + 0xdd5], dl
mov dword [ebp - 8], ecx
cmovne esi, eax
cmp byte [ebp - 0x29], dl
je 0x1005a20b
mov al, byte [edi + 0xdd6]
mov byte [ebp - 0xb], al
cmp byte [edi + 0xdd7], dl
je 0x1005a214
cmp byte [edi + 0xdd4], dl
jne 0x1005a214
test al, al
jne 0x1005a214
mov byte [ebp - 0xa], 1
jmp 0x1005a218
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0x34]
jmp 0x1005a0cb
mov al, byte [edi + 0xdd4]
mov byte [ebp - 0xb], al
mov byte [ebp - 0xa], 0
mov edx, dword [ebp - 0x14]
mov ecx, 0xa39
push 1
call fcn.10035790
add esp, 4
test al, al
jne 0x1005a244
mov edx, dword [ebp - 0x14]
mov ecx, 0x220a
push 1
call fcn.10035790
add esp, 4
test al, al
je 0x1005a267
cmp byte [ebp - 0x34], 0
jne 0x1005a267
cmp byte [ebp - 0xa8], 0
jne 0x1005a267
cmp byte [ebp - 0x18], 0
je 0x1005a261
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
je 0x1005a267
mov byte [ebp - 4], 1
jmp 0x1005a26b
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x14]
mov ecx, 0xa24
push 0
call fcn.10035790
add esp, 4
test al, al
jne 0x1005a297
mov edx, dword [ebp - 0x14]
mov ecx, 0x1209
push 0
call fcn.10035790
add esp, 4
test al, al
je 0x1005a2b4
cmp byte [ebp - 0xa8], 0
jne 0x1005a2b4
cmp byte [ebp - 0x18], 0
je 0x1005a2ae
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
je 0x1005a2b4
mov byte [ebp - 0x60], 1
jmp 0x1005a2b8
mov byte [ebp - 0x60], 0
mov edx, dword [ebp - 0x14]
mov ecx, 0xa37
push 1
call fcn.10035790
add esp, 4
test al, al
jne 0x1005a2e4
mov edx, dword [ebp - 0x14]
mov ecx, 0x2209
push 1
call fcn.10035790
add esp, 4
test al, al
je 0x1005a2ee
cmp byte [ebp - 0x34], 0
mov byte [ebp - 0x35], 1
je 0x1005a2f2
mov byte [ebp - 0x35], 0
mov edx, dword [ebp - 0x14]
mov ecx, 0xa3b
push 1
call fcn.10035790
add esp, 4
test al, al
je 0x1005a31a
cmp byte [ebp - 0x34], 0
jne 0x1005a31a
cmp byte [ebp - 0x40], 0
je 0x1005a31a
mov byte [ebp - 0x5e], 1
jmp 0x1005a31f
xor al, al
mov byte [ebp - 0x5e], al
mov edx, dword [ebp - 0x14]
mov ecx, 0xa3a
push 1
call fcn.10035790
add esp, 4
test al, al
jne 0x1005a350
cmp byte [ebp - 0x29], al
je 0x1005a360
mov edx, dword [ebp - 0x14]
mov ecx, 0x2a3b
push 1
call fcn.10035790
add esp, 4
test al, al
je 0x1005a360
cmp byte [ebp - 0x34], 0
jne 0x1005a360
cmp byte [ebp - 0x40], 0
mov byte [ebp - 0x5f], 1
jne 0x1005a364
mov byte [ebp - 0x5f], 0
mov edx, dword [ebp - 0x14]
mov ecx, 0xa22
push 0
call fcn.10035790
add esp, 4
mov byte [ebp - 0x95], al
test byte [edi + 8], 2
je 0x1005a38c
test byte [edi + 0xc], 1
mov byte [ebp - 0x19], 1
jne 0x1005a390
mov byte [ebp - 0x19], 0
push 1
xor edx, edx
mov ecx, 0x20d
call fcn.10033da0
add esp, 4
test al, al
jne 0x1005a3be
push 1
xor edx, edx
mov ecx, 0x267
call fcn.10033da0
add esp, 4
mov byte [ebp - 0x5d], 0
test al, al
je 0x1005a3c2
mov byte [ebp - 0x5d], 1
cmp byte [ebp - 0x19], 0
je 0x1005a3f8
push 0
xor edx, edx
mov ecx, 0x26e
call fcn.10033da0
add esp, 4
test al, al
jne 0x1005a3f2
push 0
xor edx, edx
mov ecx, 0x26d
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a3f8
mov byte [ebp - 0xc], 1
jmp 0x1005a3fc
mov byte [ebp - 0xc], 0
mov edx, dword [ebp - 0x14]
mov ecx, 0x20e
push 1
call fcn.10035790
add esp, 4
test al, al
jne 0x1005a433
cmp byte [ebp - 0x19], al
je 0x1005a42d
mov edx, dword [ebp - 0x14]
mov ecx, 0x26c
push 1
call fcn.10035790
add esp, 4
test al, al
jne 0x1005a433
mov byte [ebp - 0x19], 0
jmp 0x1005a437
mov byte [ebp - 0x19], 1
push 1
xor edx, edx
mov ecx, 0x201
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a490
cmp byte [ebp - 0xa], 0
je 0x1005a459
mov eax, 0x200004
jmp 0x1005a46a
cmp byte [ebp - 0xb], 0
mov eax, 0x200000
mov ecx, 0x20000c
cmovne eax, ecx
or esi, eax
push esi
lea edx, [ebx + 0x40]
mov ecx, ebx
call fcn.100579d0
add esp, 4
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
jmp 0x1005aba6
push 1
xor edx, edx
mov ecx, 0x202
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a4e9
cmp byte [ebp - 0xa], 0
je 0x1005a4b2
mov eax, 0x200005
jmp 0x1005a4c3
cmp byte [ebp - 0xb], 0
mov eax, 0x200001
mov ecx, 0x20000d
cmovne eax, ecx
or esi, eax
lea edx, [ebx + 0x40]
push esi
mov ecx, ebx
call fcn.100579d0
add esp, 4
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
jmp 0x1005aba6
push 1
xor edx, edx
mov ecx, 0x203
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a577
cmp byte [ebp - 0x18], 0
je 0x1005a577
cmp byte [edi + 0xdd4], 0
je 0x1005a546
mov esi, dword [ebp - 0x54]
movss xmm0, dword [esi + 0x78]
subss xmm0, dword [edi + 0x3bc8]
mov dword [esi + 0x90], 0
mov dword [esi + 0x98], 0
maxss xmm0, dword [0x100f1e18]
movss dword [esi + 0x88], xmm0
jmp 0x1005aba6
movzx eax, byte [ebp - 0xa]
lea eax, [eax*4 + 0x200002]
or eax, esi
lea edx, [ebx + 0x40]
push eax
mov ecx, ebx
call fcn.100579d0
add esp, 4
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
jmp 0x1005aba6
push 1
xor edx, edx
mov ecx, 0x204
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a5ef
cmp byte [ebp - 0x18], 0
je 0x1005a5ef
cmp byte [edi + 0xdd4], 0
je 0x1005a5df
mov ecx, dword [ebp - 0x54]
mov eax, dword [0x10103fe8]
movss xmm0, dword [ecx + 0x78]
addss xmm0, dword [edi + 0x3bc8]
mov eax, dword [eax + 0x3e38]
minss xmm0, dword [eax + 0x80]
mov dword [ecx + 0x90], 0
mov dword [ecx + 0x98], 0
movss dword [ecx + 0x88], xmm0
jmp 0x1005aba6
movzx eax, byte [ebp - 0xa]
lea eax, [eax*4 + 0x200003]
jmp 0x1005a551
push 1
xor edx, edx
mov ecx, 0x205
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a652
cmp byte [ebp - 0x18], 0
je 0x1005a652
or esi, 0x20000e
lea edx, [ebx + 0x40]
push esi
mov ecx, ebx
call fcn.100579d0
movd xmm0, dword [ebp - 8]
add esp, 4
movss xmm1, dword [ebp - 0x70]
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
mulss xmm0, dword [edi + 0x3bc8]
subss xmm1, xmm0
movss dword [ebp - 0x70], xmm1
jmp 0x1005aba6
push 1
xor edx, edx
mov ecx, 0x206
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a6b1
cmp byte [ebp - 0x18], 0
je 0x1005a6b1
or esi, 0x20000f
lea edx, [ebx + 0x40]
push esi
mov ecx, ebx
call fcn.100579d0
movd xmm0, dword [ebp - 8]
add esp, 4
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
mulss xmm0, dword [edi + 0x3bc8]
addss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0x70], xmm0
jmp 0x1005aba6
push 1
xor edx, edx
mov ecx, 0x207
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a6e2
mov eax, esi
or esi, 0x200004
or eax, 0x200006
cmp byte [edi + 0xdd4], 0
cmovne esi, eax
jmp 0x1005a46c
push 1
xor edx, edx
mov ecx, 0x208
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a713
mov eax, esi
or esi, 0x200005
or eax, 0x200007
cmp byte [edi + 0xdd4], 0
cmovne esi, eax
jmp 0x1005a46c
push 1
xor edx, edx
mov ecx, 0x20a
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a770
cmp byte [ebp - 0x34], 0
jne 0x1005a770
cmp byte [ebp - 4], 0
jne 0x1005a770
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
jne 0x1005a765
cmp byte [ebp - 0xb], 0
je 0x1005a765
push 0x60000d
lea edx, [ebx + 0x40]
mov ecx, ebx
call fcn.100579d0
add esp, 4
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
or esi, 0x200008
jmp 0x1005a46c
push 1
xor edx, edx
mov ecx, 0x20b
call fcn.10033da0
add esp, 4
test al, al
je 0x1005a7ef
cmp byte [ebp - 0x34], 0
jne 0x1005a7ef
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
jne 0x1005a7e4
cmp byte [ebp - 0xb], 0
je 0x1005a7a0
push 0x60000c
jmp 0x1005a7c6
cmp byte [ebp - 0x29], 0
je 0x1005a7e4
cmp byte [edi + 0xdd7], 0
je 0x1005a7e4
cmp byte [edi + 0xdd6], 0
jne 0x1005a7e4
cmp byte [edi + 0xdd4], 0
jne 0x1005a7e4
push 0x600004
lea edx, [ebx + 0x40]
mov ecx, ebx
call fcn.100579d0
mov dword [ebx + 0xe6c], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe70], 1
or esi, 0x200009
jmp 0x1005a46c
cmp byte [ebp - 0x5d], 0
mov cl, byte [ebp - 0xc]
jne 0x1005ab2d
test cl, cl
jne 0x1005ab2d
cmp byte [ebp - 0x19], cl
je 0x1005a842
test dword [ebp - 0x10], 0x100000
je 0x1005a82e
mov eax, dword [ebx + 0xc]
test eax, eax
jg 0x1005a823
mov byte [ebp - 2], cl
mov byte [ebp - 3], cl
mov byte [ebp - 9], 1
setg dl
mov byte [ebp - 1], dl
jmp 0x1005aba9
mov dl, 1
xor cl, cl
xor ch, ch
mov byte [ebp - 1], dl
mov byte [ebp - 9], dl
mov byte [ebp - 3], ch
jmp 0x1005abaf
mov al, byte [ebp - 0x5e]
test al, al
jne 0x1005aaf8
cmp byte [ebp - 0x5f], al
jne 0x1005aaf8
cmp byte [ebp - 0x95], al
je 0x1005a87e
mov eax, dword [ebx + 8]
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x40], eax
mov byte [ebx + 0x56], 0
mov byte [ebx + 0xe70], 1
jmp 0x1005aba6
mov al, byte [ebp - 4]
test al, al
jne 0x1005a9fa
cmp byte [ebp - 0x60], al
jne 0x1005a9fa
cmp byte [ebp - 0x35], al
je 0x1005aba6
mov edx, dword [0x10103fe8]
mov eax, dword [edx + 0x80]
test eax, eax
je 0x1005a8c8
push dword [edx + 0x88]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x1005aba6
mov edx, dword [0x10103fe8]
jmp 0x1005a8cd
mov esi, 0x10093bb8
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005a8d5
sub ecx, dword [ebp - 0x20]
test edx, edx
je 0x1005a8e9
inc dword [edx + 0xb0]
lea eax, [ecx*2 + 2]
push eax
call fcn.100756b7
add esp, 4
mov dword [ebp - 0x5c], eax
cmp byte [esi], 0
mov dword [ebp - 8], 0
je 0x1005a955
xor edi, edi
mov ebx, eax
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 8]
call fcn.10028560
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 8]
add esp, 4
add esi, eax
push 4
sub esp, 8
call fcn.10058be0
add esp, 0xc
test al, al
je 0x1005a941
mov ax, word [ebp - 8]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x1005a910
mov ebx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x6c]
mov esi, dword [ebp - 8]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x1005a9d8
mov edx, dword [ebx + 0x48]
mov ecx, dword [ebx + 8]
mov dword [ebp - 8], edx
mov edx, dword [ebx + 0x44]
cmp edx, dword [ebx + 0x48]
je 0x1005a98f
cmp edx, ecx
jle 0x1005a97c
mov dword [ebx + 0x44], ecx
mov edx, ecx
cmp dword [ebx + 0x48], ecx
jle 0x1005a987
mov dword [ebx + 0x48], ecx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 8]
jne 0x1005a98f
mov dword [ebx + 0x40], edx
cmp dword [ebx + 0x40], ecx
jle 0x1005a997
mov dword [ebx + 0x40], ecx
lea edx, [ebx + 0x40]
mov ecx, ebx
call fcn.10057940
mov edx, dword [ebx + 0x40]
mov ecx, ebx
push esi
push dword [ebp - 0x5c]
call fcn.100574d0
add esp, 8
test al, al
je 0x1005a9ce
mov edx, dword [ebx + 0x40]
lea ecx, [ebx + 0x60]
push esi
push 0
call fcn.10058820
add esp, 8
mov byte [ebx + 0x56], 0
add dword [ebx + 0x40], esi
mov eax, dword [ebp - 0x5c]
mov byte [ebx + 0xe70], 1
test eax, eax
je 0x1005a9ec
mov ecx, dword [0x10103fe8]
test ecx, ecx
je 0x1005a9ec
dec dword [ecx + 0xb0]
push eax
call fcn.10070953
add esp, 4
jmp 0x1005aba6
cmp dword [edi + 0x84], 0
je 0x1005aaae
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x44]
cmp eax, ecx
je 0x1005aa1b
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x1005aa20
mov edx, dword [ebx + 8]
xor ecx, ecx
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 8], edx
lea edx, [eax + edx*2]
lea ecx, [eax + ecx*2]
call fcn.10028860
mov ecx, dword [0x10103fe8]
inc eax
mov dword [ebp - 0x20], eax
test ecx, ecx
je 0x1005aa48
inc dword [ecx + 0xb0]
push eax
call fcn.100756b7
mov esi, dword [ebx + 0x18]
add esp, 4
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x30]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.100287f0
mov eax, dword [0x10103fe8]
add esp, 8
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x1005aa94
push esi
push dword [eax + 0x88]
call ecx
mov eax, dword [0x10103fe8]
add esp, 8
test esi, esi
je 0x1005aaa2
test eax, eax
je 0x1005aaa2
dec dword [eax + 0xb0]
push esi
call fcn.10070953
mov al, byte [ebp - 4]
add esp, 4
test al, al
je 0x1005aba6
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
jne 0x1005aad2
mov eax, dword [ebx + 8]
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x40], eax
mov byte [ebx + 0x56], 0
mov byte [ebx + 0xe70], 1
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
je 0x1005aba6
lea edx, [ebx + 0x40]
mov ecx, ebx
call fcn.10057940
mov byte [ebx + 0x56], 0
jmp 0x1005aba6
movzx eax, al
lea edx, [ebx + 0x40]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.100579d0
mov eax, dword [ebx + 0x40]
add esp, 4
mov byte [ebx + 0xe70], 1
mov dword [ebx + 0xe6c], 0xbe99999a
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x44], eax
jmp 0x1005aba6
mov edx, dword [ebp - 0x10]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x18], 0
je 0x1005ab4f
test cl, cl
jne 0x1005ab4f
mov cl, byte [edi + 0xdd4]
test al, al
je 0x1005ab75
test cl, cl
jne 0x1005ab79
cmp byte [edi + 0x64], 0
mov byte [ebp - 0x1a], 1
je 0x1005aba2
cmp byte [ebp - 0x18], 0
jne 0x1005aba2
mov eax, dword [ebx + 8]
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x40], eax
mov byte [ebx + 0x56], 0
jmp 0x1005aba6
test cl, cl
jne 0x1005ab4f
cmp byte [ebp - 0x34], 0
jne 0x1005aba6
push 2
sub esp, 8
mov dword [ebp - 8], 0xa
lea ecx, [ebp - 8]
call fcn.10058be0
add esp, 0xc
test al, al
je 0x1005aba6
push dword [ebp - 8]
jmp 0x1005a46d
mov byte [ebp - 9], 1
mov dl, byte [ebp - 1]
mov cl, byte [ebp - 2]
mov ch, byte [ebp - 3]
mov eax, dword [ebx + 0x44]
cmp eax, dword [ebx + 0x48]
je 0x1005abbf
test ch, ch
je 0x1005abbf
mov al, 1
jmp 0x1005abc1
xor al, al
mov esi, dword [ebp - 0x14]
or cl, al
mov eax, dword [edi + 0x3e84]
mov byte [ebp - 2], cl
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x3c], 0
cmp eax, esi
jne 0x1005b239
test dl, dl
je 0x1005ad63
cmp byte [ebp - 0x34], 0
jne 0x1005add7
test dword [ebp - 0x10], 0x100000
je 0x1005ac69
mov esi, dword [ebx + 8]
lea ecx, [ebx + 0x60]
push 0
push esi
xor edx, edx
mov dword [ebp - 0x24], 0x10093bb8
mov dword [ebp - 0x3c], 0
call fcn.10058820
mov edx, eax
add esp, 8
test edx, edx
je 0x1005ac40
xor ecx, ecx
test esi, esi
jle 0x1005ac40
nop dword [eax]
mov eax, dword [ebx + 0x18]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x1005ac30
push dword [ebx + 8]
xor edx, edx
mov ecx, ebx
call fcn.10057470
add esp, 4
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x40], 0
jmp 0x1005ad6d
mov esi, dword [ebx + 0x30]
mov ecx, esi
mov eax, dword [ebp - 0x28]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005ac91
test dl, dl
je 0x1005ac8d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005ac91
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005ac71
xor eax, eax
jmp 0x1005ac96
sbb eax, eax
or eax, 1
test eax, eax
je 0x1005ad6d
mov eax, dword [ebx + 0x28]
mov edx, esi
dec eax
mov dword [ebp - 0x24], edx
xor esi, esi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x7c], esi
test eax, eax
jle 0x1005ad28
lea edi, [eax + edx]
mov esi, edx
xor eax, eax
mov dword [ebp - 8], eax
test edi, edi
je 0x1005acd2
cmp esi, edi
jae 0x1005aced
cmp byte [esi], 0
je 0x1005aced
push edi
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.10028560
add esi, eax
add esp, 4
mov eax, dword [ebp - 8]
inc eax
jmp 0x1005acc7
mov edi, dword [ebp - 0x6c]
lea esi, [eax + 1]
test esi, esi
jle 0x1005ad0f
mov ecx, 8
mov eax, esi
cmp esi, ecx
cmovl eax, ecx
lea ecx, [ebp - 0x84]
push eax
call fcn.1003d8c0
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x7c]
add eax, edx
push 0
push eax
push edx
mov edx, esi
call fcn.100286c0
add esp, 0xc
xor ecx, ecx
lea eax, [esi - 1]
cmp dword [ebp - 0x3c], ecx
lea edx, [ebx + 0x40]
mov esi, dword [ebp - 0x7c]
cmovle eax, ecx
mov ecx, ebx
push eax
push esi
call fcn.10058b40
add esp, 8
test esi, esi
je 0x1005ad6d
mov eax, dword [0x10103fe8]
test eax, eax
je 0x1005ad58
dec dword [eax + 0xb0]
push esi
call fcn.10070953
add esp, 4
jmp 0x1005ad6d
cmp byte [ebp - 0x34], 0
jne 0x1005ae8f
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x10]
mov byte [ebx + 0x34], 1
lea esi, [eax*4 + 1]
mov eax, dword [ebx + 0x20]
cmp esi, eax
jle 0x1005adb8
test eax, eax
je 0x1005ada1
cdq
sub eax, edx
lea edx, [ebx + 0x1c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1005ada9
mov ecx, 8
lea edx, [ebx + 0x1c]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1003d850
mov dword [ebx + 0x1c], esi
mov edx, esi
mov ecx, dword [ebx + 0x24]
push 0
push dword [ebx + 0x18]
call fcn.100287f0
add esp, 8
cmp byte [ebp - 1], 0
je 0x1005ae8f
cmp byte [ebp - 0x1a], 0
je 0x1005ade8
mov eax, dword [ebp - 0x10]
test al, 0x20
jne 0x1005ae92
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x1005b236
cmp byte [ebp - 0x90], 0
je 0x1005b208
mov eax, dword [ebp - 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x140], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [ebp - 0x148], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x154]
push eax
xor eax, eax
movlpd qword [ebp - 0x134], xmm0
movlpd qword [ebp - 0x12c], xmm0
mov dword [ebp - 0x154], 0x40000
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x14c], 0
call eax
mov esi, dword [ebp - 0x138]
add esp, 4
mov eax, dword [ebp - 0x140]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
lea ecx, [esi - 1]
cmp dword [ebp - 0x13c], ecx
cmovl ecx, dword [ebp - 0x13c]
jmp 0x1005b20b
mov eax, dword [ebp - 0x10]
test eax, 0x801c0
je 0x1005b1ba
xor esi, esi
test al, 0x40
je 0x1005aec5
push 1
xor edx, edx
mov ecx, 0x200
call fcn.10033da0
add esp, 4
test al, al
je 0x1005aec2
lea eax, [esi + 0x40]
mov esi, 0x200
jmp 0x1005af35
mov eax, dword [ebp - 0x10]
test al, al
jns 0x1005af0e
push 1
xor edx, edx
mov ecx, 0x203
call fcn.10033da0
add esp, 4
test al, al
je 0x1005aeea
mov eax, 0x80
mov esi, 0x203
jmp 0x1005af35
push 1
xor edx, edx
mov ecx, 0x204
call fcn.10033da0
add esp, 4
test al, al
je 0x1005af0b
mov eax, 0x80
mov esi, 0x204
jmp 0x1005af35
mov eax, dword [ebp - 0x10]
test eax, 0x80000
je 0x1005af25
cmp byte [ebx + 0xe72], 0
je 0x1005af25
mov eax, 0x80000
jmp 0x1005af35
test eax, 0x100
je 0x1005b1ba
mov eax, 0x100
xor ecx, ecx
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x118], 0
mov word [ebp - 0x103], cx
mov byte [ebp - 0x101], cl
mov dword [ebp - 0x11c], ecx
cmp byte [ebp - 0x34], cl
jne 0x1005af6e
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x114], esi
mov esi, dword [ebx + 0x18]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0x40]
mov byte [ebp - 0x104], cl
mov ecx, esi
lea edx, [esi + eax*2]
call fcn.10028860
mov ecx, dword [ebx + 0x44]
mov edi, eax
mov dword [ebp - 0x100], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10028860
mov edx, dword [ebx + 0x48]
mov ecx, esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xfc], eax
lea edx, [esi + edx*2]
call fcn.10028860
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x124]
push eax
xor eax, eax
call eax
mov dl, byte [ebp - 0x104]
add esp, 4
mov eax, dword [ebp - 0x100]
mov byte [ebp - 0xc], dl
cmp eax, edi
jne 0x1005affb
test dl, dl
je 0x1005b03f
mov esi, dword [ebp - 0x110]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 8], eax
test edi, edi
je 0x1005b011
cmp esi, edi
jae 0x1005b02c
cmp byte [esi], 0
je 0x1005b02c
push edi
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.10028560
add esi, eax
add esp, 4
mov eax, dword [ebp - 8]
inc eax
jmp 0x1005b006
mov dl, byte [ebp - 0xc]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x100]
mov byte [ebx + 0xe70], 1
mov ecx, dword [ebp - 0xfc]
cmp ecx, dword [ebp - 0x20]
jne 0x1005b04e
test dl, dl
je 0x1005b094
cmp ecx, eax
jne 0x1005b057
mov eax, dword [ebx + 0x40]
jmp 0x1005b091
mov esi, dword [ebp - 0x110]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 8], eax
test edi, edi
je 0x1005b06d
cmp esi, edi
jae 0x1005b088
cmp byte [esi], 0
je 0x1005b088
push edi
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.10028560
add esi, eax
add esp, 4
mov eax, dword [ebp - 8]
inc eax
jmp 0x1005b062
mov ecx, dword [ebp - 0xfc]
mov dl, byte [ebp - 0xc]
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0x30]
jne 0x1005b0a7
test dl, dl
je 0x1005b1b7
cmp eax, ecx
jne 0x1005b0b0
mov eax, dword [ebx + 0x44]
jmp 0x1005b0e4
mov esi, dword [ebp - 0x110]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 8], eax
test edi, edi
je 0x1005b0c6
cmp esi, edi
jae 0x1005b0e1
cmp byte [esi], 0
je 0x1005b0e1
push edi
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.10028560
add esi, eax
add esp, 4
mov eax, dword [ebp - 8]
inc eax
jmp 0x1005b0bb
mov dl, byte [ebp - 0xc]
mov dword [ebx + 0x48], eax
test dl, dl
je 0x1005b1b7
push dword [ebp - 0x10c]
mov edx, dword [ebp - 0x110]
mov ecx, ebx
call fcn.10058db0
mov esi, dword [ebp - 0x10c]
add esp, 4
mov ecx, dword [ebp - 0x50]
cmp esi, ecx
jle 0x1005b154
cmp byte [ebp - 0x90], 0
je 0x1005b154
mov edi, dword [ebx + 0x14]
lea eax, [ebx + 0x10]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x1005b152
test edi, edi
je 0x1005b13a
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1005b13f
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x10]
push eax
call fcn.1003d8c0
lea eax, [ebx + 0x10]
mov dword [eax], esi
mov ecx, dword [ebx + 0x18]
mov esi, ecx
mov eax, dword [ebx + 0x10]
mov edi, dword [ebp - 0x110]
dec eax
mov dword [ebp - 0x30], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 8], eax
cmp ecx, eax
jae 0x1005b198
cmp byte [edi], 0
je 0x1005b195
push 0
mov edx, edi
lea ecx, [ebp - 0x20]
call fcn.10028560
add edi, eax
add esp, 4
mov ax, word [ebp - 0x20]
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 8]
jb 0x1005b170
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x10c]
sar esi, 1
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0xe6c], 0xbe99999a
mov edi, dword [ebp - 0x6c]
cmp byte [ebp - 0x34], 0
jne 0x1005ade8
mov esi, dword [ebx + 0x24]
mov eax, esi
mov ecx, dword [ebp - 0x28]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005b1f0
test dl, dl
je 0x1005b1ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005b1f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005b1d0
xor eax, eax
jmp 0x1005b1f5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1005ade8
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x24], esi
jmp 0x1005adeb
mov esi, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x1005b232
jbe 0x1005b22a
lea eax, [esi - 1]
push eax
push edx
push dword [ebp - 0x28]
call fcn.10070460
add esp, 0xc
mov eax, dword [ebp - 0x28]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0x62], 1
mov esi, dword [ebp - 0x14]
cmp byte [ebp - 9], 0
je 0x1005b24c
cmp dword [edi + 0x3e84], esi
jne 0x1005b24c
call fcn.1002b0c0
mov edx, dword [ebp - 0x18]
test dl, dl
jne 0x1005b315
push 1
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.10029c50
movss xmm1, dword [0x100f1ec4]
add esp, 4
mov ecx, 7
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push dword [ebp - 0xd4]
call fcn.10028de0
movss xmm2, dword [edi + 0x37dc]
mov dl, 1
mov ecx, eax
call fcn.10029830
movss xmm0, dword [ebp - 0x74]
add esp, 0x10
movss xmm1, dword [ebp - 0xd0]
movaps xmm6, xmm0
movss xmm2, dword [ebp - 0x9c]
movaps xmm5, xmm1
addss xmm5, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x18]
addss xmm6, xmm2
movss dword [ebp - 0xb8], xmm0
addss xmm0, dword [edi + 0x37d4]
movss dword [ebp - 0xb4], xmm1
movss dword [ebp - 0x74], xmm5
movss dword [ebp - 0xb0], xmm6
movss dword [ebp - 0xac], xmm5
movss dword [ebp - 0x48], xmm0
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x37d8]
movss dword [ebp - 0x44], xmm0
jmp 0x1005b370
movss xmm6, dword [ebp - 0x74]
movss xmm0, dword [ebp - 0xd0]
movss xmm2, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x54]
movss dword [ebp - 0xb8], xmm6
addss xmm6, xmm2
movss dword [ebp - 0xb4], xmm0
addss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0xb0], xmm6
movss dword [ebp - 0xac], xmm0
mov eax, dword [ecx + 0xec]
mov ecx, dword [ecx + 0xf0]
movss dword [ebp - 0x74], xmm0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
cmp byte [ebp - 0x61], 0
lea eax, [ebp - 0x48]
movss xmm0, dword [eax]
movss dword [ebp - 0xa4], xmm0
movss dword [ebp - 0xc4], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x5c], xmm6
xorps xmm6, xmm6
movss dword [ebp - 0xc0], xmm0
xorps xmm0, xmm0
movss dword [ebp - 8], xmm0
movss dword [ebp - 0x30], xmm6
je 0x1005b3b7
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x28], ecx
jmp 0x1005b3ba
mov ecx, dword [ebp - 0x28]
cmp byte [ebp - 3], 0
jne 0x1005b4a5
cmp byte [ebp - 2], 0
jne 0x1005b4a5
test dl, dl
je 0x1005b423
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dl, byte [eax]
lea ebx, [eax + 1]
test dl, dl
je 0x1005b3f2
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x1005b3e0
mov al, byte [ebx - 1]
dec ebx
mov dword [ebp - 0x58], ebx
cmp al, 0xa
je 0x1005b402
cmp al, 0xd
je 0x1005b402
inc ecx
movd xmm0, ecx
mov ecx, dword [ebp - 0x28]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x3bc8]
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
movss dword [ebp - 8], xmm0
jmp 0x1005b458
cmp dword [edi + 0x3e84], esi
jne 0x1005b432
mov ebx, dword [ebx + 0xc]
add ebx, ecx
jmp 0x1005b446
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005b435
mov ebx, dword [ebp - 0x28]
sub ecx, edx
add ebx, ecx
mov ecx, dword [ebp - 0x28]
mov eax, ebx
mov dword [ebp - 0x58], ebx
sub eax, ecx
cmp eax, 0x200000
jge 0x1005bf20
movss xmm1, dword [0x100f1ec4]
lea eax, [ebp - 0xb8]
xor edx, edx
cmp byte [ebp - 0x18], dl
cmovne eax, edx
push eax
push ecx
mov dword [esp], edx
push ebx
push ecx
xor ecx, ecx
call fcn.10028de0
movss xmm2, dword [edi + 0x3bc8]
push eax
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0x54]
push dword [edi + 0x3bc4]
mov ecx, dword [eax + 0x260]
call fcn.10047fe0
jmp 0x1005bf20
mov eax, dword [ebx + 0xc]
mov esi, 0xfffffc18
mov dword [ebp - 0x7c], eax
xor edx, edx
add eax, ecx
movss dword [ebp - 0x20], xmm6
xorps xmm7, xmm7
mov ecx, dword [ebx + 0x18]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x3c], esi
cmp byte [ebp - 3], dl
je 0x1005b4f6
mov eax, dword [ebx + 0x40]
or esi, 0xffffffff
mov dword [ebp - 0x90], esi
lea eax, [ecx + eax*2]
mov dword [ebp - 0x50], eax
lea edx, [esi + 2]
cmp byte [ebp - 2], 0
je 0x1005b51a
mov ecx, dword [ebx + 0x48]
cmp dword [ebx + 0x44], ecx
mov eax, dword [ebp - 0x24]
cmovl ecx, dword [ebx + 0x44]
inc edx
mov dword [ebp - 0x3c], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x68], eax
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
movzx eax, al
add edx, eax
xor eax, eax
movzx edi, word [edi]
test di, di
mov edi, dword [ebp - 0x6c]
je 0x1005b594
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x90]
movzx esi, word [ebx]
xor ebx, ebx
cmp si, 0xa
jne 0x1005b56b
inc ebx
cmp edi, 0xffffffff
jne 0x1005b558
cmp ecx, dword [ebp - 0x50]
jb 0x1005b558
dec edx
mov edi, ebx
test edx, edx
jle 0x1005b579
cmp dword [ebp - 0x3c], 0xffffffff
jne 0x1005b56b
cmp ecx, dword [ebp - 0x68]
jb 0x1005b56b
dec edx
mov dword [ebp - 0x3c], ebx
test edx, edx
jle 0x1005b579
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x1005b540
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x90]
mov edx, dword [ebp - 0x24]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x40], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0x3c], ecx
mov ecx, esi
cmp esi, edx
jbe 0x1005b5ce
nop
cmp word [ecx - 2], 0xa
je 0x1005b5ce
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x1005b5c0
mov edx, dword [edi + 0x3bc4]
movaps xmm2, xmm6
movss xmm4, dword [edi + 0x3bc8]
movaps xmm5, xmm6
movaps xmm3, xmm4
divss xmm3, dword [edx + 0x10]
cmp ecx, esi
jae 0x1005b636
mov ebx, dword [ebp - 0x50]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x1005b607
maxss xmm2, xmm5
movaps xmm5, xmm6
jmp 0x1005b62c
cmp esi, 0xd
je 0x1005b62c
mov esi, eax
cmp esi, dword [edx]
jge 0x1005b61c
mov eax, dword [edx + 8]
movss xmm1, dword [eax + esi*4]
jmp 0x1005b621
movss xmm1, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm5, xmm0
cmp ecx, ebx
jb 0x1005b5f1
mov ebx, dword [ebp - 0xa0]
cmp dword [ebp - 0x3c], 0
maxss xmm5, xmm2
movd xmm6, dword [ebp - 0x90]
cvtdq2ps xmm6, xmm6
movss dword [ebp - 0xf4], xmm5
mulss xmm6, xmm4
movss dword [ebp - 0x44], xmm6
jl 0x1005b6eb
mov eax, dword [ebp - 0x68]
mov ecx, eax
mov esi, dword [ebp - 0x24]
cmp eax, esi
jbe 0x1005b681
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x1005b67e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1005b670
mov eax, dword [ebp - 0x68]
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm7, xmm7
cmp ecx, eax
jae 0x1005b6d6
mov edi, dword [ebp - 0x68]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x1005b6a7
maxss xmm1, xmm7
movaps xmm7, xmm0
jmp 0x1005b6cf
cmp esi, 0xd
je 0x1005b6cf
mov esi, eax
cmp esi, dword [edx]
jge 0x1005b6bc
mov eax, dword [edx + 8]
movss xmm2, dword [eax + esi*4]
jmp 0x1005b6c1
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm7, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x1005b691
mov edi, dword [ebp - 0x6c]
movd xmm0, dword [ebp - 0x3c]
maxss xmm7, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
movss dword [ebp - 0x20], xmm0
mov ecx, dword [ebp - 0x18]
movss xmm3, dword [ebp - 0x9c]
test cl, cl
je 0x1005b713
movd xmm0, dword [ebp - 0x40]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm3
movss dword [ebp - 8], xmm0
cmp byte [ebp - 3], 0
je 0x1005b862
cmp byte [ebx + 0xe70], 0
je 0x1005b862
test dword [ebp - 0x10], 0x1000
jne 0x1005b77f
movss xmm2, dword [ebx + 0x3c]
movaps xmm0, xmm3
comiss xmm2, xmm5
mulss xmm0, dword [0x100f1e6c]
movaps xmm1, xmm5
subss xmm3, dword [edi + 0x37d4]
jbe 0x1005b770
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x3c], xmm0
jmp 0x1005b786
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x1005b786
addss xmm0, xmm1
jmp 0x1005b75e
mov dword [ebx + 0x3c], 0
xorps xmm4, xmm4
test cl, cl
je 0x1005b831
movss xmm5, dword [ebp - 0x70]
movaps xmm0, xmm6
subss xmm0, dword [edi + 0x3bc8]
movss xmm2, dword [edi + 0x37d8]
comiss xmm5, xmm0
jbe 0x1005b7c7
xorps xmm5, xmm5
maxss xmm5, xmm0
movss xmm0, dword [ebp - 0x8c]
comiss xmm4, xmm5
jbe 0x1005b7fb
xorps xmm2, xmm2
jmp 0x1005b810
movss xmm1, dword [ebp - 0x8c]
movaps xmm3, xmm2
addss xmm3, xmm2
movaps xmm0, xmm6
subss xmm1, xmm3
subss xmm0, xmm1
comiss xmm0, xmm5
jb 0x1005b7b5
movss xmm0, dword [ebp - 0x8c]
movaps xmm5, xmm6
subss xmm5, xmm0
addss xmm5, xmm3
jmp 0x1005b7bd
addss xmm2, xmm2
addss xmm2, dword [ebp - 0x30]
subss xmm2, xmm0
maxss xmm2, xmm4
minss xmm2, xmm5
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0x78]
subss xmm0, xmm2
addss xmm0, dword [ebp - 0xc0]
movss dword [ebp - 0xc0], xmm0
movss dword [eax + 0x78], xmm2
mov byte [ebx + 0xe70], 0
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [ebp - 0xb0]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0xc4]
movss dword [ebp - 0xa4], xmm0
cmp byte [ebp - 2], 0
movss xmm4, dword [ebx + 0x3c]
movss dword [ebp - 0x68], xmm4
je 0x1005bb27
mov edx, dword [ebx + 0x48]
mov eax, edx
mov ecx, dword [ebx + 0x44]
cmp ecx, edx
mov esi, dword [ebp - 0x24]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 3], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x24]
lea edx, [eax + edx*2]
mov dword [ebp - 0x40], edx
je 0x1005b8a5
movss xmm1, dword [0x100f1ec4]
jmp 0x1005b8ad
movss xmm1, dword [0x100f1e88]
mov ecx, 0x2f
call fcn.10028de0
mov ecx, dword [ebp - 0x18]
xorps xmm2, xmm2
mov dword [ebp - 0x70], eax
test cl, cl
je 0x1005b8d3
movss dword [ebp - 0x90], xmm2
movss dword [ebp - 0x50], xmm2
jmp 0x1005b8f0
movss xmm0, dword [0x100f2090]
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [0x100f1f60]
movss dword [ebp - 0x50], xmm0
movss xmm4, dword [ebp - 0xc0]
movss xmm5, dword [ebp - 0xa4]
addss xmm7, xmm5
addss xmm4, dword [ebp - 0x20]
subss xmm7, dword [ebp - 0x68]
subss xmm4, xmm2
movss dword [ebp - 0x20], xmm4
cmp esi, edx
jae 0x1005bb6f
movss xmm6, dword [edi + 0x3bc8]
movss xmm5, dword [ebp - 0x74]
movaps xmm3, xmm6
movss xmm1, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0x70]
nop word [eax + eax]
movaps xmm0, xmm5
addss xmm0, xmm3
comiss xmm4, xmm0
ja 0x1005bb19
comiss xmm1, xmm4
jbe 0x1005b978
cmp esi, edx
jae 0x1005baf0
nop dword [eax]
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x1005baf0
cmp esi, edx
jb 0x1005b960
jmp 0x1005baf0
mov ecx, dword [edi + 0x3bc4]
movaps xmm5, xmm2
movaps xmm1, xmm2
divss xmm3, dword [ecx + 0x10]
cmp esi, edx
jae 0x1005b9d9
nop dword [eax]
movzx eax, word [esi]
add esi, 2
mov edx, eax
cmp eax, 0xa
je 0x1005b9c9
cmp edx, 0xd
je 0x1005b9c0
cmp edx, dword [ecx]
jge 0x1005b9b0
mov eax, dword [ecx + 8]
movss xmm2, dword [eax + edx*4]
jmp 0x1005b9b5
movss xmm2, dword [ecx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm1, xmm0
mov edx, dword [ebp - 0x40]
cmp esi, edx
jb 0x1005b990
jmp 0x1005b9d6
mov edx, dword [ebp - 0x40]
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
xorps xmm2, xmm2
maxss xmm1, xmm5
comiss xmm2, xmm1
jb 0x1005ba0c
cmp dword [ecx], 0x20
jle 0x1005b9f4
mov eax, dword [ecx + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1005b9f9
movss xmm0, dword [ecx + 0xc]
mulss xmm0, dword [0x100f1e80]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x50]
addss xmm1, xmm7
movss xmm5, dword [ebp - 0x74]
addss xmm7, xmm2
movss xmm2, dword [ebp - 0x90]
addss xmm0, xmm4
subss xmm2, xmm6
movss xmm6, dword [ebp - 0xb8]
minss xmm1, dword [ebp - 0x5c]
maxss xmm7, xmm6
minss xmm0, xmm5
addss xmm2, xmm4
movss dword [ebp - 0xdc], xmm1
movss dword [ebp - 0xe4], xmm7
comiss xmm0, dword [ebp - 0xb4]
maxss xmm2, dword [ebp - 0xb4]
movss dword [ebp - 0xd8], xmm0
movss dword [ebp - 0xe0], xmm2
jbe 0x1005bae5
comiss xmm5, xmm2
jbe 0x1005bae5
comiss xmm1, xmm6
jbe 0x1005bae5
movss xmm0, dword [ebp - 0x5c]
comiss xmm0, xmm7
jbe 0x1005bae5
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xdc]
push ebx
push eax
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x260]
call fcn.10047970
movss xmm5, dword [ebp - 0xac]
movss xmm0, dword [ebp - 0xb0]
movss xmm1, dword [ebp - 0xc4]
movss xmm4, dword [ebp - 0x20]
mov edx, dword [ebp - 0x40]
movss dword [ebp - 0x74], xmm5
movss dword [ebp - 0x5c], xmm0
movss dword [ebp - 0xa4], xmm1
movss xmm1, dword [ebp - 0xb4]
xorps xmm2, xmm2
movss xmm6, dword [edi + 0x3bc8]
movss xmm7, dword [ebp - 0xa4]
addss xmm4, xmm6
movaps xmm3, xmm6
subss xmm7, dword [ebp - 0x68]
movss dword [ebp - 0x20], xmm4
cmp esi, edx
jb 0x1005b940
movss xmm4, dword [ebp - 0x68]
mov ebx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x18]
movss xmm5, dword [ebp - 0xa4]
test cl, cl
jne 0x1005bb40
cmp dword [ebp - 0x7c], 0x200000
jge 0x1005bd66
mov eax, dword [0x10103fe8]
xorps xmm6, xmm6
movups xmm2, xmmword [eax + 0x3874]
comiss xmm6, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x3798]
movups xmmword [ebp - 0xe4], xmm2
jbe 0x1005bb76
xorps xmm0, xmm0
jmp 0x1005bb82
movss xmm4, dword [ebp - 0x68]
jmp 0x1005bb2f
movss xmm0, dword [0x100f1ec4]
minss xmm0, xmm2
movss xmm2, dword [0x100f2018]
movss xmm7, dword [0x100f1e80]
movss xmm3, dword [ebp - 0xe0]
comiss xmm6, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1005bbb0
xorps xmm0, xmm0
jmp 0x1005bbbc
movss xmm0, dword [0x100f1ec4]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0xdc]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x1005bbdf
xorps xmm0, xmm0
jmp 0x1005bbeb
movss xmm0, dword [0x100f1ec4]
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x1005bc06
xorps xmm0, xmm0
jmp 0x1005bc12
movss xmm0, dword [0x100f1ec4]
minss xmm0, xmm1
mov eax, dword [ebp - 0x54]
subss xmm5, xmm4
mulss xmm0, xmm2
lea edx, [ebp - 0xb8]
mov dword [ebp - 0x7c], 0
movss xmm2, dword [edi + 0x3bc8]
addss xmm0, xmm7
movss dword [ebp - 0x94], xmm5
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0xc0]
shl esi, 0x18
subss xmm0, xmm6
or esi, ecx
mov ecx, dword [eax + 0x260]
cmp byte [ebp - 0x18], 0
mov eax, dword [edi + 0x3bc4]
cmovne edx, dword [ebp - 0x7c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x58]
movss dword [ebp - 0x90], xmm0
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x20], eax
test esi, 0xff000000
je 0x1005bd69
test eax, eax
jne 0x1005bca9
mov ecx, dword [ebp - 0x28]
lea eax, [ecx + 1]
mov dword [ebp - 0x7c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005bc94
sub ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x28]
add eax, ecx
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x28], eax
je 0x1005bd69
cmp dword [edi + 0x3bc4], 0
jne 0x1005bcc4
mov eax, dword [ecx + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x40], eax
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jp 0x1005bcd5
mov eax, dword [ecx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movups xmmword [ebp - 0x88], xmm0
test edx, edx
je 0x1005bd39
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x88]
comiss xmm0, xmm1
jae 0x1005bcfd
movss dword [ebp - 0x88], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x84]
comiss xmm0, xmm1
jae 0x1005bd17
movss dword [ebp - 0x84], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x80]
ja 0x1005bd27
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x7c]
ja 0x1005bd37
movss dword [ebp - 0x7c], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x88]
push dword [ebp - 0x20]
push dword [ebp - 0x28]
push eax
push esi
lea eax, [ebp - 0x94]
push eax
push ecx
mov ecx, dword [ebp - 0x40]
call fcn.1004bcc0
xorps xmm6, xmm6
cmp byte [ebp - 3], 0
je 0x1005bf20
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe6c]
movss dword [ebx + 0xe6c], xmm0
cmp byte [edi + 0x63], 0
je 0x1005bdc6
comiss xmm6, xmm0
jae 0x1005bdc6
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x80], xmm0
fld qword [ebp - 0x80]
fld qword [0x100f1f50]
call fcn.10084d20
movss xmm0, dword [0x100f1ea8]
fstp qword [ebp - 0x80]
movsd xmm1, qword [ebp - 0x80]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1005bdc6
xor cl, cl
jmp 0x1005bdc8
mov cl, 1
movss xmm0, dword [ebp - 0xf4]
movss xmm6, dword [0x100f1ec4]
addss xmm0, dword [ebp - 0xc4]
subss xmm0, dword [ebp - 0x68]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xc0]
addss xmm0, dword [ebp - 0x44]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x100f1e18]
movss dword [ebp - 0xf4], xmm1
movaps xmm5, xmm1
movss dword [ebp - 0xe4], xmm1
addss xmm5, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0xdc], xmm5
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss dword [ebp - 0x44], xmm3
movaps xmm2, xmm3
movaps xmm4, xmm3
subss xmm2, dword [edi + 0x3bc8]
subss xmm4, dword [0x100f1f20]
addss xmm2, dword [0x100f1e80]
movss dword [ebp - 0xd8], xmm4
movss dword [ebp - 0xe0], xmm2
test cl, cl
je 0x1005beeb
comiss xmm4, dword [ebp - 0xb4]
jbe 0x1005beeb
movss xmm0, dword [ebp - 0xac]
comiss xmm0, xmm2
jbe 0x1005beeb
comiss xmm5, dword [ebp - 0xb8]
jbe 0x1005beeb
movss xmm0, dword [ebp - 0xb0]
comiss xmm0, xmm1
jbe 0x1005beeb
sub esp, 8
movss dword [ebp - 0x80], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x7c], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.10028de0
add esp, 4
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x260]
call fcn.10047850
movss xmm1, dword [ebp - 0xf4]
movss xmm3, dword [ebp - 0x44]
movss xmm6, dword [0x100f1ec4]
cmp byte [ebp - 0x34], 0
jne 0x1005bf20
movss xmm0, dword [edi + 0x3bc8]
subss xmm1, xmm6
subss xmm3, xmm0
mov byte [edi + 0x59e8], 1
movss dword [edi + 0x59f4], xmm0
movss dword [edi + 0x59ec], xmm1
movss dword [edi + 0x59f0], xmm3
mov ebx, dword [ebp - 0xa8]
test bl, bl
je 0x1005bf2f
call fcn.100334d0
cmp byte [ebp - 0x18], 0
je 0x1005c036
mov ecx, dword [0x10103fe8]
movss xmm1, dword [ebp - 0x30]
addss xmm1, dword [edi + 0x37d8]
movss xmm4, dword [ebp - 8]
mov eax, dword [ecx + 0x3e38]
movss dword [ebp - 0x48], xmm4
movss dword [ebp - 0x44], xmm1
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x3e38]
cmp byte [eax + 0xab], 0
jne 0x1005bfd6
movss xmm0, dword [eax + 0xf0]
lea ecx, [ebp - 0x48]
movss xmm3, dword [eax + 0xec]
movaps xmm2, xmm0
addss xmm2, xmm1
movss dword [ebp - 0xe4], xmm3
movss xmm1, dword [0x100f2090]
addss xmm4, xmm3
movss dword [ebp - 0xe0], xmm0
movss dword [ebp - 0xd8], xmm2
movss dword [ebp - 0xdc], xmm4
call fcn.10035920
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0xe4]
call fcn.10035a80
add esp, 8
mov esi, dword [edi + 0x4690]
mov eax, esi
or eax, 0x401
mov dword [edi + 0x4690], eax
call fcn.1002e600
mov eax, dword [edi + 0x46b4]
mov ebx, dword [ebp - 0x188]
and eax, 0x80
or ebx, eax
mov dword [edi + 0x4690], esi
call fcn.10036040
cmp dword [edi + 0x46ac], 0
jne 0x1005c030
mov eax, dword [ebp - 0x14]
mov dword [edi + 0x46ac], eax
mov eax, dword [ebp - 0x18c]
mov dword [edi + 0x46b0], eax
mov dword [edi + 0x46b4], ebx
mov ebx, dword [ebp - 0xa8]
cmp byte [edi + 0x5a6c], 0
je 0x1005c070
test bl, bl
jne 0x1005c070
mov eax, dword [0x10103fe8]
lea ecx, [ebp - 0xc4]
push dword [ebp - 0x58]
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x5a84], 0x100f14b0
mov dword [eax + 0x5a88], 0x100f14ac
call fcn.1003bba0
add esp, 4
movss xmm0, dword [ebp - 0xf0]
comiss xmm0, dword [0x100f1e18]
jbe 0x1005c0c3
movss xmm0, dword [ebp - 0xcc]
xor edx, edx
addss xmm0, dword [edi + 0x37ec]
mov ecx, dword [ebp - 0xbc]
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [ebp - 0xd0]
addss xmm0, dword [edi + 0x37d8]
movss dword [ebp - 0x44], xmm0
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push 1
call fcn.10029070
add esp, 0xc
mov cl, byte [ebp - 0x62]
mov edx, dword [ebp - 0x10]
test cl, cl
je 0x1005c0ea
test edx, 0x8000000
jne 0x1005c0ea
mov eax, dword [0x10103fe8]
or dword [eax + 0x46b4], 4
mov word [eax + 0x3e94], 0x101
pop edi
movzx eax, cl
test dl, 0x20
movzx ecx, byte [ebp - 0x1a]
pop esi
cmovne eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret