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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x118
mov eax, dword [0x100b1010]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x100b10e0]
push edi
mov edi, ecx
mov dword [ebp - 0x64], edx
mov ecx, esi
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0x44], ecx
mov eax, dword [ecx + 0x1718]
mov byte [eax + 0x86], 1
mov eax, dword [ecx + 0x1718]
mov dword [ebp - 0x4c], eax
cmp byte [eax + 0x88], 0
jne 0x1005c867
mov ecx, dword [eax + 0x1c0]
xor edx, edx
mov eax, dword [eax + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.1004c6a0
mov edx, esi
mov dword [ebp - 0x54], eax
add esp, 4
cmp dword [edx + 0x1740], eax
jne 0x1005c4d1
mov byte [edx + 0x1748], 1
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x10]
mov ecx, eax
shr ecx, 0x14
and ecx, 0xffffff01
mov dword [ebp - 0x58], ecx
mov ecx, eax
shr ecx, 0xe
not cl
shr eax, 0xf
and ecx, 0xffffff01
and eax, 0xffffff01
mov dword [ebp - 0x70], ecx
mov ecx, edi
mov dword [ebp - 0xc8], eax
cmp edi, 0xffffffff
jae 0x1005c528
nop word [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x1005c526
cmp dl, 0x23
jne 0x1005c520
cmp byte [ecx + 1], dl
je 0x1005c526
inc ecx
cmp ecx, 0xffffffff
jb 0x1005c510
mov edx, esi
movss xmm0, dword [edx + 0x16e0]
mov eax, dword [ebp - 0xe4]
movss xmm1, dword [0x100a6588]
mov edi, dword [edx + 0x16dc]
movss dword [ebp - 0xd8], xmm0
movss dword [ebp - 0xc4], xmm1
cmp eax, ecx
jne 0x1005c565
xorps xmm6, xmm6
movss dword [ebp - 0xe0], xmm6
jmp 0x1005c5ce
movss xmm3, dword [0x100a6574]
movaps xmm2, xmm0
push ecx
push ecx
push eax
push ecx
lea eax, [ebp - 0xa4]
mov dword [esp], 0xbf800000
push eax
mov ecx, edi
call fcn.1006f2d0
movss xmm1, dword [ebp - 0xa4]
xorps xmm6, xmm6
comiss xmm1, xmm6
jbe 0x1005c5a9
movss xmm0, dword [ebp - 0xd8]
divss xmm0, dword [edi]
subss xmm1, xmm0
addss xmm1, dword [0x100a63b8]
mov edx, esi
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xa0]
cmp byte [ebp - 0x58], 0
mov eax, dword [ebx + 0xc]
movss xmm7, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [ebp - 0x98], xmm7
movss dword [ebp - 0xac], xmm1
je 0x1005c600
movss xmm0, dword [esi + 0x16e0]
mulss xmm0, dword [0x100a6488]
movss xmm5, dword [edx + 0x13dc]
mov edi, dword [esi + 0x1718]
movaps xmm3, xmm5
addss xmm3, xmm5
movss xmm2, dword [edi + 0x120]
comiss xmm6, xmm2
addss xmm3, xmm0
jbe 0x1005c670
cmp dword [edi + 0x194], 1
movss xmm4, dword [edi + 0xb8]
subss xmm4, dword [edi + 0x18]
movss xmm0, dword [edi + 0x48]
je 0x1005c65c
mov ecx, dword [edi + 0x190]
inc ecx
call fcn.10062540
subss xmm0, dword [edi + 0x50]
movss xmm1, dword [ebp - 0xac]
mov edx, esi
subss xmm0, xmm4
addss xmm0, xmm2
movss xmm2, dword [0x100a63c0]
maxss xmm2, xmm0
comiss xmm6, xmm7
cvttss2si eax, xmm2
xorps xmm2, xmm2
xorps xmm0, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x1005c68b
comiss xmm6, xmm1
jbe 0x1005c6c1
cmp dword [edi + 0x194], 1
movss xmm0, dword [edi + 0x48]
movss xmm2, dword [edi + 0x4c]
je 0x1005c6b1
mov ecx, dword [edi + 0x190]
inc ecx
call fcn.10062540
subss xmm0, dword [edi + 0x50]
mov edx, esi
mov eax, dword [edx + 0x1718]
addss xmm0, dword [eax + 0x18]
addss xmm2, dword [eax + 0x1c]
comiss xmm6, xmm7
movss xmm1, dword [0x100a6468]
jb 0x1005c705
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x1005c6e4
movaps xmm7, xmm4
movss dword [ebp - 0x98], xmm7
jmp 0x1005c705
mov eax, dword [edx + 0x1718]
subss xmm0, dword [eax + 0xb8]
maxss xmm0, xmm1
addss xmm0, xmm7
movaps xmm7, xmm0
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [ebp - 0xac]
comiss xmm6, xmm0
jb 0x1005c73e
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x1005c720
movaps xmm0, xmm3
jmp 0x1005c736
mov eax, dword [edx + 0x1718]
subss xmm2, dword [eax + 0xbc]
maxss xmm2, xmm1
addss xmm0, xmm2
movss dword [ebp - 0xac], xmm0
mov eax, dword [ebp - 0x4c]
movaps xmm1, xmm7
movss xmm2, dword [ebp - 0xe0]
comiss xmm2, xmm6
movss xmm4, dword [eax + 0xb8]
movss xmm3, dword [eax + 0xbc]
addss xmm1, xmm4
addss xmm0, xmm3
movss dword [ebp - 0xa8], xmm4
movss dword [ebp - 0x9c], xmm3
movss dword [ebp - 0xc0], xmm4
movss dword [ebp - 0xbc], xmm3
movss dword [ebp - 0xd8], xmm1
movss dword [ebp - 0x38], xmm0
movss dword [ebp - 0xb8], xmm1
movss dword [ebp - 0xb4], xmm0
jbe 0x1005c7b0
addss xmm2, dword [edx + 0x13ec]
jmp 0x1005c7b3
xorps xmm2, xmm2
cmp byte [ebp - 0x58], 0
addss xmm1, xmm2
addss xmm0, xmm6
movss dword [ebp - 0x20], xmm4
movss dword [ebp - 0x1c], xmm3
mov dword [ebp - 0x7c], eax
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm0
je 0x1005c8af
call fcn.10062090
movss xmm0, dword [ebp - 0xd8]
lea edx, [ebp - 0xa4]
subss xmm0, dword [ebp - 0xa8]
push ecx
mov ecx, dword [ebp - 0x54]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0x38]
subss xmm0, dword [ebp - 0x9c]
movss dword [ebp - 0xa0], xmm0
call fcn.10050c40
add esp, 4
test al, al
jne 0x1005c87c
call fcn.10050b50
mov ecx, 2
call fcn.100554b0
mov esi, dword [0x100b10e0]
mov eax, dword [esi + 0x1770]
mov ecx, dword [esi + 0x1778]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
shl eax, 4
movups xmmword [eax + esi + 0x142c], xmm0
dec dword [esi + 0x1770]
call fcn.10062180
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1009823a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [0x100b10e0]
movss xmm7, dword [ebp - 0x98]
mov eax, dword [esi + 0x1718]
mov byte [eax + 0x86], 1
mov edi, dword [esi + 0x1718]
mov dword [ebp - 0x7c], edi
subss xmm7, dword [edi + 0x78]
movss dword [ebp - 0x98], xmm7
jmp 0x1005c8e4
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0xa4]
movss dword [ebp - 0xa4], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0xa0], xmm0
call fcn.1004d820
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.1004d920
test al, al
je 0x1005c867
cmp byte [ebp - 0xc8], 0
je 0x1005c97b
mov edx, dword [ebp - 0x44]
mov esi, dword [edx + 0x16dc]
cmp dword [esi + 0x28], 0x2a
jle 0x1005c919
mov eax, dword [esi + 0x30]
movzx eax, word [eax + 0x54]
cmp ax, 0xffff
je 0x1005c919
cwde
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea edi, [eax + ecx*8]
jmp 0x1005c91c
mov edi, dword [esi + 0x34]
mov eax, dword [esi]
add edx, 0x26e4
mov dword [edx], eax
mov eax, dword [esi + 4]
mov esi, dword [ebp - 0x44]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x16dc]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
mov ecx, edx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x16dc]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x16dc]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x16dc]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov dword [edx + 0x34], edi
mov eax, dword [edi + 4]
mov dword [edx + 0x38], eax
call fcn.100551c0
mov esi, dword [0x100b10e0]
mov ecx, dword [ebp - 0x44]
test dword [ebx + 0x10], 0x440
mov al, byte [ecx + 0xd9]
lea edi, [ecx + 0x1a10]
mov byte [ebp - 0x31], al
mov al, byte [ecx + 0xda]
mov byte [ebp - 0x39], al
mov al, byte [ecx + 0xdb]
mov byte [ebp - 0x5d], al
mov al, byte [ecx + 0xdc]
mov byte [ebp - 0x7d], al
sete al
movzx eax, al
push eax
mov eax, dword [ebp - 0x54]
cmp dword [ecx + 0x1740], eax
mov ecx, dword [ebp - 0x4c]
sete dl
mov dword [ebp - 0x94], edi
call fcn.1004db00
mov dl, al
add esp, 4
mov byte [ebp - 0x69], dl
test dl, dl
je 0x1005cafa
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x264]
cmp ecx, dword [eax + 0x26c]
jne 0x1005cafa
mov byte [ebp - 0x45], 1
mov byte [ebp - 0x4e], 0
mov edx, dword [ebp - 0x54]
lea ecx, [ebp - 0xc0]
push 0
call fcn.1004da40
mov edx, dword [ebp - 0x44]
add esp, 4
mov byte [ebp - 0x4f], al
test al, al
mov eax, dword [ebp - 0x54]
je 0x1005ca41
mov dword [esi + 0x1734], eax
mov byte [esi + 0x1738], 0
mov dword [edx + 0x18a0], 1
cmp byte [edx + 0x328], 0
mov byte [ebp - 0x4d], 1
jne 0x1005ca45
mov byte [ebp - 0x4d], 0
cmp byte [ebp - 0x58], 0
je 0x1005cb13
cmp dword [edx + 0x1740], 0
jne 0x1005cb13
cmp dword [edi], eax
jne 0x1005cb13
mov byte [ebp - 0x2c], 0x6b
mov al, 0x48
xor al, byte [ebp - 0x2c]
mov cl, 0x38
xor cl, byte [ebp - 0x2c]
mov dh, 0x27
mov byte [ebp - 0x2b], al
mov ah, 0x39
mov byte [ebp - 0x5e], dh
mov ch, 0x24
mov al, byte [ebp - 0x5e]
mov dl, 0x28
mov byte [ebp - 0x2a], cl
mov cl, byte [ebp - 0x2c]
xor al, cl
mov byte [ebp - 0xad], 0x32
mov byte [ebp - 0x25], al
xor ah, cl
mov al, byte [ebp - 0xad]
xor ch, cl
xor al, cl
mov byte [ebp - 0x28], ah
mov byte [ebp - 0x24], al
xor dl, cl
mov eax, dword [ebp - 0x7c]
xor dh, cl
mov byte [ebp - 0x27], ch
mov byte [ebp - 0x29], dl
mov byte [ebp - 0x26], dh
xor edx, edx
mov ecx, dword [eax + 0x1c0]
mov eax, dword [eax + 0x1c8]
mov byte [ebp - 0x23], 0
mov byte [ebp - 0x23], 0
push dword [eax + ecx*4 - 4]
lea ecx, [ebp - 0x2b]
call fcn.1004c6a0
add esp, 4
cmp dword [esi + 0x1740], eax
jne 0x1005caeb
mov byte [esi + 0x1748], 1
mov edx, dword [ebp - 0x44]
cmp dword [edx + 0x1744], eax
jne 0x1005cb13
mov cl, 1
jmp 0x1005cb15
mov byte [ebp - 0x45], 0
test dl, dl
je 0x1005c9f9
mov byte [ebp - 0x4e], 1
mov byte [ebp - 0x45], 0
jmp 0x1005c9fd
xor cl, cl
mov eax, dword [edx + 0x1740]
cmp eax, dword [ebp - 0x54]
je 0x1005cb2a
test byte [ebx + 0x10], 0x10
mov byte [ebp - 0x5c], 1
jne 0x1005cb2e
mov byte [ebp - 0x5c], 0
cmp byte [ebp - 0x69], 0
jne 0x1005cb75
cmp byte [ebp - 0x4d], 0
jne 0x1005cb75
test cl, cl
jne 0x1005cb75
cmp byte [edx + 0x328], cl
je 0x1005cd30
cmp eax, dword [ebp - 0x54]
jne 0x1005cd30
mov dword [esi + 0x1740], 0
mov word [esi + 0x1749], 1
mov dword [esi + 0x1754], 0
jmp 0x1005cd30
cmp eax, dword [ebp - 0x54]
je 0x1005cd0e
mov esi, dword [ebx + 8]
lea ecx, [edi + 4]
mov eax, dword [edi + 0x2c]
inc esi
push esi
mov dword [ebp - 0x88], eax
call fcn.10063380
mov eax, dword [edi + 0x14]
cmp esi, eax
jle 0x1005cbc5
test eax, eax
je 0x1005cbae
cdq
sub eax, edx
lea edx, [edi + 0x10]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1005cbb6
mov ecx, 8
lea edx, [edi + 0x10]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10063500
push dword [ebp - 0x64]
mov dword [edi + 0x10], esi
push 0x100a4074
push esi
push dword [edi + 0x18]
call fcn.1004c670
mov edx, dword [edi + 0xc]
add esp, 0x10
mov eax, dword [edi + 4]
mov esi, edx
mov ecx, dword [ebp - 0x64]
dec eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x68], edx
lea eax, [edx + eax*2]
mov dword [ebp - 0x40], eax
cmp edx, eax
jae 0x1005cc30
cmp byte [ecx], 0
je 0x1005cc2d
mov edx, ecx
lea ecx, [ebp - 0x38]
push 0
call fcn.1004c7c0
mov ecx, dword [ebp - 0x30]
add esp, 4
add ecx, eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], ecx
test eax, eax
je 0x1005cc2d
cmp eax, 0x10000
jae 0x1005cc28
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x40]
jb 0x1005cbf8
mov edx, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x64]
xor eax, eax
mov word [esi], ax
sub esi, edx
mov eax, dword [ebp - 0x54]
sar esi, 1
mov dword [edi + 0x2c], esi
mov dword [edi + 0x28], ecx
mov dword [edi + 0xccc], 0xbe99999a
cmp dword [edi], eax
jne 0x1005cc82
cmp dword [ebp - 0x88], esi
jne 0x1005cc82
cmp dword [edi + 0x38], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
cmovl esi, dword [edi + 0x40]
mov ecx, dword [ebp - 0x58]
mov dword [edi + 0x40], esi
jmp 0x1005cce4
mov ecx, dword [ebp - 0x58]
mov dword [edi], eax
mov al, cl
mov dword [edi + 0x34], 0
xor al, 1
mov dword [edi + 0xcc2], 0x630000
mov dword [edi + 0xcc6], 0x3e70000
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x44], 0x10000
mov dword [edi + 0x4c], 0
mov byte [edi + 0x48], al
test cl, cl
jne 0x1005cce4
mov eax, dword [ebp - 0x5c]
mov edx, 1
cmp byte [ebp - 0x45], cl
movzx eax, al
cmovne eax, edx
mov dword [ebp - 0x5c], eax
test dword [ebx + 0x10], 0x2000
je 0x1005ccf1
mov byte [edi + 0x44], 1
test cl, cl
jne 0x1005cd08
cmp byte [ebp - 0x4e], cl
jne 0x1005cd04
cmp byte [ebp - 0x4d], cl
je 0x1005cd08
cmp byte [ebp - 0x31], cl
je 0x1005cd08
mov byte [ebp - 0x5c], 1
mov esi, dword [0x100b10e0]
mov eax, dword [ebp - 0x54]
mov dword [esi + 0x1740], eax
mov eax, dword [ebp - 0x4c]
mov ecx, eax
mov word [esi + 0x1749], 1
mov dword [esi + 0x1754], eax
call fcn.10055010
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x54]
mov byte [ebp - 0x4e], 0
mov byte [ebp - 0x5e], 0
cmp dword [esi + 0x1740], eax
jne 0x1005e459
cmp byte [ebp - 0x70], 0
jne 0x1005ce0a
cmp byte [esi + 0x1749], 0
jne 0x1005ce0a
mov eax, dword [ebx + 8]
lea ecx, [edi + 4]
inc eax
push eax
call fcn.10063380
mov eax, dword [edi + 0xc]
mov edx, eax
mov ecx, dword [ebp - 0x64]
mov esi, edx
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x4c], edx
lea esi, [esi + eax*2]
mov eax, edx
add esi, 0xfffffffe
cmp eax, esi
jae 0x1005cdd3
cmp byte [ecx], 0
je 0x1005cdcd
mov edx, ecx
lea ecx, [ebp - 0x38]
push 0
call fcn.1004c7c0
mov ecx, dword [ebp - 0x30]
add esp, 4
mov edx, dword [ebp - 0x4c]
add ecx, eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], ecx
test eax, eax
je 0x1005cdcd
cmp eax, 0x10000
jae 0x1005cdc9
mov word [edx], ax
add edx, 2
mov dword [ebp - 0x4c], edx
cmp edx, esi
jb 0x1005cd93
mov eax, dword [ebp - 0x88]
sub ecx, dword [ebp - 0x64]
xor esi, esi
mov word [edx], si
sub edx, eax
mov esi, dword [ebp - 0x44]
sar edx, 1
cmp dword [edi + 0x38], edx
mov dword [edi + 0x28], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], edx
mov dword [edi + 0x38], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x2c], edx
cmovl edx, dword [edi + 0x40]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], edx
mov eax, dword [ebx + 8]
mov dword [edi + 0x30], eax
mov dl, byte [esi + 0xcc]
movss xmm1, dword [esi + 0xc4]
test dl, dl
subss xmm1, dword [ebp - 0xa8]
sete al
cmp byte [ebp - 0x58], 0
mov byte [esi + 0x174a], al
subss xmm1, dword [esi + 0x13d8]
addss xmm1, dword [edi + 0x34]
je 0x1005ce61
mov eax, dword [ebp - 0x7c]
movss xmm2, dword [esi + 0xc8]
subss xmm2, dword [eax + 0xbc]
subss xmm2, dword [esi + 0x13dc]
jmp 0x1005ce71
movss xmm2, dword [esi + 0x16e0]
mulss xmm2, dword [0x100a6390]
cmp byte [ebp - 0x5c], 0
jne 0x1005d084
cmp byte [ebp - 0x4f], 0
je 0x1005ce9b
cmp byte [esi + 0xa6], 0
jne 0x1005cfbb
cmp byte [esi + 0x36c], 0
jne 0x1005d084
mov ecx, dword [ebp - 0x44]
lea esi, [edi + 0xcd1]
mov al, byte [esi]
cmp byte [ecx + 0x328], 0
je 0x1005d019
test al, al
jne 0x1005d019
mov ecx, edi
call fcn.1005ae70
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x47], 0
mov dword [edi + 0xccc], 0xbe99999a
mov ecx, esi
mov esi, dword [ebp - 0x44]
cmp byte [ecx], 0
je 0x1005ceef
cmp byte [esi + 0xcc], 0
jne 0x1005ceef
mov byte [ecx], 0
cmp word [esi + 0x2de], 0
lea ecx, [esi + 0x2de]
mov dword [ebp - 0x38], ecx
je 0x1005cf87
cmp byte [ebp - 0x31], 0
je 0x1005cf12
cmp byte [ebp - 0x5d], 0
je 0x1005cf77
cmp byte [ebp - 0x70], 0
je 0x1005cf77
mov dword [ebp - 0x40], 0
mov esi, ecx
movzx eax, word [esi]
test ax, ax
je 0x1005cf71
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0x30]
sub esp, 8
mov dword [ebp - 0x30], eax
call fcn.1005c2e0
add esp, 8
test al, al
je 0x1005cf62
push dword [ebp - 0x30]
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1005b250
add esp, 4
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
mov eax, dword [ebp - 0x40]
add esi, 2
inc eax
mov dword [ebp - 0x40], eax
cmp eax, 0x11
jl 0x1005cf21
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x44]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
mov word [ecx + 0x20], 0
cmp byte [esi + 0xa5], 0
je 0x1005d0ad
cmp byte [ebp - 0x7d], 0
je 0x1005d0c9
cmp byte [ebp - 0x5d], 0
jne 0x1005d0c9
cmp byte [ebp - 0x39], 0
jne 0x1005d0c9
cmp byte [ebp - 0x31], 0
jmp 0x1005d0c3
cmp byte [esi + 0x36c], 0
je 0x1005ce9b
push 0x1000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1005b250
add esp, 4
mov byte [edi + 0xcd0], 1
lea edx, [edi + 0x38]
mov dword [edi + 0xccc], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.1005b250
add esp, 4
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
lea ecx, [edi + 0xcd1]
jmp 0x1005cedb
mov ecx, esi
test dl, dl
je 0x1005cedb
test al, al
jne 0x1005cedb
mov edx, dword [ebp - 0x44]
xorps xmm3, xmm3
movss xmm0, dword [edx + 0x320]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1005d053
movss xmm0, dword [edx + 0x324]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1005d0a6
mov ecx, edi
call fcn.1005ae70
mov ecx, dword [edi + 0x3c]
cmp ecx, dword [edi + 0x40]
jne 0x1005d068
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0xccc], 0xbe99999a
mov byte [edi + 0xcd0], 1
jmp 0x1005ced9
mov eax, dword [edi + 0x2c]
lea ecx, [edi + 0xcd1]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [ecx], 1
jmp 0x1005cede
mov esi, edx
jmp 0x1005cede
cmp byte [ebp - 0x31], 0
je 0x1005d0c9
cmp byte [ebp - 0x5d], 0
jne 0x1005d0c9
cmp byte [ebp - 0x39], 0
jne 0x1005d0c9
cmp byte [ebp - 0x7d], 0
mov byte [ebp - 0x45], 1
je 0x1005d0cd
mov byte [ebp - 0x45], 0
cmp byte [esi + 0xa4], 0
je 0x1005d0e1
mov cl, byte [esi + 0xdb]
mov byte [ebp - 0x4d], cl
jmp 0x1005d0ea
mov al, byte [esi + 0xd9]
mov byte [ebp - 0x4d], al
mov esi, dword [0x100b10e0]
mov eax, dword [esi + 0x2c]
test eax, eax
js 0x1005d173
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, dword [0x100a62c4]
lahf
test ah, 0x44
jnp 0x1005df44
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d173
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
jne 0x1005df44
mov eax, dword [esi + 0x30]
xorps xmm1, xmm1
test eax, eax
js 0x1005d218
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d1f1
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d218
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d215
cmp byte [ebp - 0x4d], 0
je 0x1005d206
mov eax, 0x1000d
mov ecx, 0x3000d
jmp 0x1005df60
mov eax, 0x10001
mov ecx, 0x30001
jmp 0x1005df60
xorps xmm1, xmm1
cmp byte [ebp - 0x58], 0
je 0x1005d39f
mov eax, dword [esi + 0x34]
test eax, eax
js 0x1005d2ea
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d2a1
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d2ea
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d2ea
cmp byte [ebp - 0x31], 0
je 0x1005d2db
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x44]
movss xmm1, dword [ecx + 0x60]
movaps xmm0, xmm1
subss xmm0, dword [eax + 0x16e0]
addss xmm1, dword [ecx + 0xd4]
movss dword [ecx + 0x60], xmm0
subss xmm1, xmm0
movss dword [ecx + 0xd4], xmm1
jmp 0x1005df86
mov eax, 0x10002
mov ecx, 0x30002
jmp 0x1005df60
mov eax, dword [esi + 0x38]
xorps xmm1, xmm1
test eax, eax
js 0x1005d39f
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d36c
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d39f
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d39c
cmp byte [ebp - 0x31], 0
je 0x1005d38d
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x44]
movss xmm1, dword [ecx + 0x60]
movaps xmm0, xmm1
addss xmm0, dword [eax + 0x16e0]
jmp 0x1005d2bd
mov eax, 0x10003
mov ecx, 0x30003
jmp 0x1005df60
xorps xmm1, xmm1
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1005d43e
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d41a
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d43e
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d43e
cmp byte [ebp - 0x31], 0
je 0x1005d42f
mov eax, 0x10006
mov ecx, 0x30006
jmp 0x1005df60
mov eax, 0x10004
mov ecx, 0x30004
jmp 0x1005df60
mov eax, dword [esi + 0x48]
xorps xmm1, xmm1
test eax, eax
js 0x1005d4e3
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d4bc
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d4e3
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d4e0
cmp byte [ebp - 0x31], 0
je 0x1005d4d1
mov eax, 0x10007
mov ecx, 0x30007
jmp 0x1005df60
mov eax, 0x10005
mov ecx, 0x30005
jmp 0x1005df60
xorps xmm1, xmm1
mov eax, dword [esi + 0x4c]
test eax, eax
js 0x1005d59d
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d562
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d59d
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d59d
cmp byte [ebp - 0x70], 0
je 0x1005d59d
mov eax, 0x10008
mov ecx, 0x30008
cmp byte [ebp - 0x39], 0
cmovne eax, ecx
push eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1005b250
add esp, 4
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
jmp 0x1005df8c
mov eax, dword [esi + 0x50]
test eax, eax
js 0x1005d631
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, dword [0x100a62c4]
lahf
test ah, 0x44
jnp 0x1005d61c
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d631
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d631
cmp byte [ebp - 0x70], 0
je 0x1005d631
mov eax, 0x10009
mov ecx, 0x30009
jmp 0x1005d572
mov eax, dword [esi + 0x54]
xorps xmm1, xmm1
test eax, eax
js 0x1005d72d
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d6b3
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d72d
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d72a
mov ecx, dword [ebx + 0x10]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x58], 0
je 0x1005d6cd
test al, al
je 0x1005d6f3
cmp byte [ebp - 0x31], 0
jne 0x1005d6f9
mov dword [esi + 0x1740], 0
mov word [esi + 0x1749], 1
mov dword [esi + 0x1754], 0
mov byte [ebp - 0x5e], 1
jmp 0x1005df86
cmp byte [ebp - 0x31], 0
jne 0x1005d6cd
cmp byte [ebp - 0x70], 0
je 0x1005dfde
mov dword [ebp - 0x30], 0xa
sub esp, 8
mov edx, ecx
lea ecx, [ebp - 0x30]
call fcn.1005c2e0
add esp, 8
test al, al
je 0x1005df8c
push dword [ebp - 0x30]
jmp 0x1005d57a
xorps xmm1, xmm1
mov ecx, dword [ebx + 0x10]
test ecx, 0x400
je 0x1005d7de
mov eax, dword [esi + 0x28]
test eax, eax
js 0x1005d7de
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d7ba
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d7de
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d7de
mov ecx, dword [ebx + 0x10]
cmp byte [ebp - 0x31], 0
jne 0x1005d7de
cmp byte [ebp - 0x39], 0
jne 0x1005d7de
cmp byte [ebp - 0x5d], 0
jne 0x1005d7de
cmp byte [ebp - 0x70], 0
je 0x1005d7de
mov dword [ebp - 0x30], 9
jmp 0x1005d70a
mov eax, dword [esi + 0x58]
xorps xmm1, xmm1
test eax, eax
js 0x1005d892
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d860
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d892
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d88f
cmp byte [ebp - 0x70], 0
mov dword [esi + 0x1740], 0
mov word [esi + 0x1749], 1
mov dword [esi + 0x1754], 0
je 0x1005e456
push dword [edi + 0x18]
jmp 0x1005e43f
xorps xmm1, xmm1
cmp byte [ebp - 0x45], 0
je 0x1005df86
mov eax, dword [esi + 0x70]
test eax, eax
js 0x1005d952
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005d91b
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005d952
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005d952
cmp byte [ebp - 0x70], 0
je 0x1005d952
push 0x1000a
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1005b250
mov eax, dword [edi + 0x38]
add esp, 4
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
jmp 0x1005df8c
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x1005da0c
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, dword [0x100a62c4]
lahf
test ah, 0x44
jnp 0x1005d9d5
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005da0c
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005da0c
cmp byte [ebp - 0x70], 0
je 0x1005da0c
push 0x1000b
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1005b250
mov eax, dword [edi + 0x38]
add esp, 4
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
jmp 0x1005df8c
mov eax, dword [esi + 0x5c]
xorps xmm1, xmm1
test eax, eax
js 0x1005daa6
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005da8a
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005daa6
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005daa3
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x1005df7f
xorps xmm1, xmm1
cmp byte [ebp - 0xc8], 0
jne 0x1005dd40
mov eax, dword [esi + 0x68]
test eax, eax
js 0x1005db34
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005db2a
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005db34
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005db34
cmp byte [ebp - 0x70], 0
jne 0x1005dbba
mov eax, dword [esi + 0x60]
test eax, eax
js 0x1005dd40
movss xmm2, dword [esi + eax*4 + 0x3b8]
xorps xmm0, xmm0
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1005dbbd
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005dd40
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005dd40
xorps xmm0, xmm0
cmp byte [ebp - 0x58], 0
je 0x1005dbcf
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x1005dd40
mov eax, dword [esi + 0x68]
test eax, eax
js 0x1005dc6d
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1005dc4a
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005dc6d
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005dc6d
mov eax, dword [edi + 0x3c]
mov cl, 1
mov byte [ebp - 0x31], cl
cmp eax, dword [edi + 0x40]
jne 0x1005dc72
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x1005dc72
xor cl, cl
mov byte [ebp - 0x31], cl
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0xb0], 0
je 0x1005dd10
mov esi, dword [edi + 0x40]
mov eax, dword [edi + 0x3c]
mov byte [ebp - 0x31], cl
cmp eax, esi
je 0x1005dc99
mov edx, esi
cmovge esi, eax
cmovl edx, eax
jmp 0x1005dc9e
mov esi, dword [edi + 0x2c]
xor edx, edx
mov eax, esi
mov dword [ebp - 0x40], edx
sub eax, edx
lea ecx, [edi + 0x1c]
lea edx, [eax*4 + 1]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x30], edx
cmp edx, eax
jle 0x1005dce7
test eax, eax
je 0x1005dccc
cdq
sub eax, edx
mov edx, dword [ebp - 0x30]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x20]
jmp 0x1005dcd1
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x1c]
push eax
call fcn.10063500
mov edx, dword [ebp - 0x30]
lea ecx, [edi + 0x1c]
mov dword [ecx], edx
mov ecx, dword [edi + 0xc]
lea eax, [ecx + esi*2]
push eax
mov eax, dword [ebp - 0x40]
lea eax, [ecx + eax*2]
mov ecx, dword [edi + 0x24]
push eax
call fcn.1004c950
mov eax, dword [ebp - 0x44]
push dword [edi + 0x24]
mov eax, dword [eax + 0xb0]
call eax
add esp, 0xc
cmp byte [ebp - 0x31], 0
je 0x1005df86
mov byte [edi + 0xcd0], 1
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x1005df86
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1005b1c0
mov byte [edi + 0x47], 0
jmp 0x1005df86
mov eax, dword [esi + 0x64]
test eax, eax
js 0x1005df86
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, dword [0x100a62c4]
lahf
test ah, 0x44
jnp 0x1005ddc7
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005df86
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005df86
cmp byte [ebp - 0x70], 0
je 0x1005dfde
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0xac]
test eax, eax
je 0x1005df8c
call eax
mov esi, eax
test esi, esi
je 0x1005df8c
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x1005ddf3
mov eax, dword [0x100b10e0]
sub edx, ecx
inc dword [eax + 0x308]
mov ecx, dword [eax + 0xb4]
lea eax, [edx*2 + 2]
push eax
call ecx
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x74], eax
cmp byte [esi], al
je 0x1005de8d
nop dword [eax + eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x88]
call fcn.1004c7c0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x1005de87
cmp eax, 0x10000
jae 0x1005de82
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0x88]
sub esp, 8
call fcn.1005c2e0
add esp, 8
test al, al
je 0x1005de82
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x4c]
mov ax, word [ebp - 0x88]
mov word [edx + ecx*2], ax
inc ecx
mov dword [ebp - 0x74], ecx
cmp byte [esi], 0
jne 0x1005de30
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x1005df27
mov edx, dword [edi + 0x40]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x2c]
cmp ecx, edx
je 0x1005dec1
cmp ecx, eax
jle 0x1005deb1
mov dword [edi + 0x3c], eax
mov ecx, eax
cmp edx, eax
jle 0x1005deba
mov dword [edi + 0x40], eax
mov edx, eax
cmp ecx, edx
jne 0x1005dec1
mov dword [edi + 0x38], ecx
cmp dword [edi + 0x38], eax
jle 0x1005dec9
mov dword [edi + 0x38], eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1005b1c0
push dword [ebp - 0x74]
mov edx, dword [edi + 0x38]
mov ecx, edi
push dword [ebp - 0x4c]
call fcn.1005adc0
add esp, 8
test al, al
je 0x1005df09
push dword [ebp - 0x74]
mov edx, dword [edi + 0x38]
lea ecx, [edi + 0x50]
push 0
call fcn.1005bf80
mov eax, dword [ebp - 0x74]
add esp, 8
add dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x1005df1d
movzx eax, word [edi + 0xcc2]
test ax, ax
je 0x1005df1d
dec eax
mov word [edi + 0xcc2], ax
mov ecx, dword [ebp - 0x4c]
mov byte [edi + 0xcd0], 1
mov eax, dword [0x100b10e0]
test ecx, ecx
je 0x1005df36
dec dword [eax + 0x308]
mov eax, dword [eax + 0xb8]
push ecx
call eax
add esp, 4
jmp 0x1005df8c
cmp byte [ebp - 0x4d], 0
je 0x1005df56
mov eax, 0x1000c
mov ecx, 0x3000c
jmp 0x1005df60
mov eax, 0x10000
mov ecx, 0x30000
cmp byte [ebp - 0x39], 0
lea edx, [edi + 0x38]
cmovne eax, ecx
mov ecx, edi
push eax
call fcn.1005b250
mov dword [edi + 0xccc], 0xbe99999a
add esp, 4
mov byte [edi + 0xcd0], 1
cmp byte [ebp - 0x70], 0
je 0x1005dfd8
mov esi, dword [edi + 4]
mov eax, dword [edi + 0x20]
shl esi, 2
cmp esi, eax
jle 0x1005dfc3
test eax, eax
je 0x1005dfac
cdq
sub eax, edx
lea edx, [edi + 0x1c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1005dfb4
mov ecx, 8
lea edx, [edi + 0x1c]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10063500
mov dword [edi + 0x1c], esi
mov edx, esi
mov ecx, dword [edi + 0x24]
push 0
push dword [edi + 0xc]
call fcn.1004c950
add esp, 8
mov esi, dword [0x100b10e0]
mov edx, dword [ebx + 0x10]
test edx, 0x1c0
je 0x1005e407
test dl, 0x40
je 0x1005e083
mov eax, dword [esi + 0x28]
xorps xmm1, xmm1
test eax, eax
js 0x1005e086
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005e077
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005e086
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
mov edx, dword [ebx + 0x10]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005e083
mov eax, 0x40
xor ecx, ecx
jmp 0x1005e1c0
xorps xmm1, xmm1
test dl, dl
jns 0x1005e1a8
mov eax, dword [esi + 0x34]
test eax, eax
js 0x1005e119
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005e10c
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005e119
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
mov edx, dword [ebx + 0x10]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005e119
mov eax, 0x80
lea ecx, [eax - 0x7d]
jmp 0x1005e1c0
mov eax, dword [esi + 0x38]
test eax, eax
js 0x1005e1a8
movss xmm2, dword [esi + eax*4 + 0x3b8]
ucomiss xmm2, dword [0x100a62c4]
lahf
test ah, 0x44
jnp 0x1005e198
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1005e1a8
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x100a6390]
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
call fcn.10008bd0
movss xmm1, dword [esi + 0x78]
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x38]
seta al
mov dword [ebp - 0x40], eax
call fcn.10008bd0
xor eax, eax
comiss xmm0, dword [ebp - 0x30]
seta al
cmp eax, dword [ebp - 0x40]
je 0x1005e1a5
mov edx, dword [ebx + 0x10]
mov eax, 0x80
lea ecx, [eax - 0x7c]
jmp 0x1005e1c0
mov edx, dword [ebx + 0x10]
test edx, 0x100
mov ecx, 0x100
mov eax, 0
cmovne eax, ecx
mov ecx, 0x13
test eax, eax
je 0x1005e407
mov dword [ebp - 0x118], eax
xor esi, esi
mov al, byte [ebp - 0x70]
xor al, 1
mov word [ebp - 0x10b], si
mov byte [ebp - 0x10c], al
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x104], eax
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 0x30]
mov word [ebp - 0xf7], si
mov dword [ebp - 0x110], esi
mov esi, dword [edi + 0xc]
mov dword [ebp - 0xfc], eax
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x108], ecx
mov ecx, esi
mov byte [ebp - 0x109], 0
lea edx, [esi + eax*2]
mov byte [ebp - 0xf5], 0
mov byte [ebp - 0xf8], 0
call fcn.1004ca80
mov edi, eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xf4], edi
mov ecx, dword [eax + 0x1a4c]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1004ca80
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x1a50]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1004ca80
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x118]
push eax
xor eax, eax
call eax
mov edx, dword [ebp - 0xf4]
add esp, 4
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x5c], ecx
cmp edx, edi
je 0x1005e2e8
lea edi, [edx + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x4c], eax
test edi, edi
je 0x1005e2ae
cmp esi, edi
jae 0x1005e2da
cmp byte [esi], 0
je 0x1005e2da
push edi
mov edx, esi
lea ecx, [ebp - 0x38]
call fcn.1004c7c0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x1005e2d7
cmp eax, 0x10000
mov eax, dword [ebp - 0x4c]
jae 0x1005e2a6
inc eax
jmp 0x1005e2a3
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 0x38], eax
jmp 0x1005e2ee
mov edi, dword [ebp - 0x94]
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0x30]
je 0x1005e33f
add eax, ecx
mov esi, ecx
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
test eax, eax
je 0x1005e30d
cmp esi, eax
jae 0x1005e339
cmp byte [esi], 0
je 0x1005e339
push eax
mov edx, esi
lea ecx, [ebp - 0x38]
call fcn.1004c7c0
mov ecx, dword [ebp - 0x4c]
add esi, eax
mov eax, dword [ebp - 0x38]
add esp, 4
test eax, eax
je 0x1005e339
cmp eax, 0x10000
mov eax, dword [ebp - 0x30]
jae 0x1005e305
inc ecx
jmp 0x1005e302
mov dword [edi + 0x3c], ecx
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0x40]
je 0x1005e390
add eax, ecx
mov esi, ecx
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
test eax, eax
je 0x1005e35e
cmp esi, eax
jae 0x1005e38a
cmp byte [esi], 0
je 0x1005e38a
push eax
mov edx, esi
lea ecx, [ebp - 0x38]
call fcn.1004c7c0
mov ecx, dword [ebp - 0x4c]
add esi, eax
mov eax, dword [ebp - 0x38]
add esp, 4
test eax, eax
je 0x1005e38a
cmp eax, 0x10000
mov eax, dword [ebp - 0x30]
jae 0x1005e356
inc ecx
jmp 0x1005e353
mov dword [edi + 0x40], ecx
mov ecx, dword [ebp - 0x5c]
cmp byte [ebp - 0xf8], 0
je 0x1005e407
mov edx, dword [edi + 0xc]
mov esi, edx
mov eax, dword [edi + 4]
dec eax
mov dword [ebp - 0x40], edx
lea eax, [edx + eax*2]
mov dword [ebp - 0x30], eax
cmp edx, eax
jae 0x1005e3e8
nop
cmp byte [ecx], 0
je 0x1005e3e5
mov edx, ecx
lea ecx, [ebp - 0x38]
push 0
call fcn.1004c7c0
mov ecx, dword [ebp - 0x5c]
add esp, 4
add ecx, eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x5c], ecx
test eax, eax
je 0x1005e3e5
cmp eax, 0x10000
jae 0x1005e3e0
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x30]
jb 0x1005e3b0
mov edx, dword [ebp - 0x40]
xor eax, eax
mov word [esi], ax
sub esi, edx
mov eax, dword [ebp - 0x100]
sar esi, 1
mov dword [edi + 0x2c], esi
mov dword [edi + 0x28], eax
mov dword [edi + 0xccc], 0xbe99999a
cmp byte [ebp - 0x70], 0
je 0x1005e456
mov esi, dword [edi + 0x24]
mov eax, esi
mov ecx, dword [ebp - 0x64]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1005e435
test dl, dl
je 0x1005e431
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1005e435
add eax, 2
add ecx, 2
test dl, dl
jne 0x1005e415
xor eax, eax
jmp 0x1005e43a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1005e456
push esi
push 0x100a4074
push dword [ebx + 8]
push dword [ebp - 0x64]
call fcn.1004c670
mov byte [ebp - 0x4e], 1
add esp, 0x10
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x58]
test dl, dl
jne 0x1005e51e
push dword [ebp - 0xb4]
movss xmm1, dword [0x100a63c0]
mov ecx, 7
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
call fcn.1004b940
movss xmm2, dword [esi + 0x13e0]
mov dl, 1
mov ecx, eax
call fcn.1004fe50
movss xmm7, dword [ebp - 0xa8]
add esp, 0x10
movss xmm5, dword [ebp - 0x9c]
movaps xmm0, xmm7
addss xmm0, dword [esi + 0x13d8]
movss xmm4, dword [ebp - 0x98]
movaps xmm1, xmm5
addss xmm1, dword [ebp - 0xac]
mov edx, dword [ebp - 0x58]
movaps xmm2, xmm4
addss xmm2, xmm7
movss dword [ebp - 0xc0], xmm7
movss dword [ebp - 0x2c], xmm0
movaps xmm0, xmm5
addss xmm0, dword [esi + 0x13dc]
movss dword [ebp - 0xbc], xmm5
movss dword [ebp - 0xd4], xmm1
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0xb8], xmm2
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0xdc], xmm2
jmp 0x1005e591
movss xmm1, dword [ebp - 0xa8]
movss xmm4, dword [ebp - 0x98]
movss xmm0, dword [ebp - 0x9c]
movaps xmm3, xmm4
mov ecx, dword [ebp - 0x7c]
addss xmm3, xmm1
movss dword [ebp - 0xc0], xmm1
movss dword [ebp - 0xbc], xmm0
mov eax, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xbc]
movaps xmm2, xmm3
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0xb8], xmm2
movss xmm2, dword [ebp - 0xac]
addss xmm2, xmm0
movss dword [ebp - 0xdc], xmm3
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
movss dword [ebp - 0xd4], xmm2
movaps xmm1, xmm2
lea eax, [ebp - 0x2c]
movss dword [ebp - 0xb4], xmm1
movss xmm0, dword [eax]
xorps xmm6, xmm6
movss dword [ebp - 0x88], xmm0
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [eax + 4]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x54]
movss dword [ebp - 0xd0], xmm0
movss dword [ebp - 0xa0], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xcc], xmm1
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0x30], xmm0
cmp dword [esi + 0x1740], eax
je 0x1005e692
cmp dword [edi], eax
jne 0x1005e7ff
test dl, dl
je 0x1005e7ff
mov byte [ebp - 0x1c], 0x7a
mov al, 0x59
xor al, byte [ebp - 0x1c]
mov cl, 0x29
xor cl, byte [ebp - 0x1c]
mov dh, 0x36
mov byte [ebp - 0x1b], al
mov ah, 0x28
mov byte [ebp - 0x4f], dh
mov ch, 0x35
mov al, byte [ebp - 0x4f]
mov dl, 0x39
mov byte [ebp - 0x1a], cl
mov cl, byte [ebp - 0x1c]
xor al, cl
mov byte [ebp - 0x69], 0x23
mov byte [ebp - 0x15], al
xor ah, cl
mov al, byte [ebp - 0x69]
xor ch, cl
xor al, cl
mov byte [ebp - 0x18], ah
mov byte [ebp - 0x14], al
xor dl, cl
mov eax, dword [ebp - 0x7c]
xor dh, cl
mov byte [ebp - 0x17], ch
mov byte [ebp - 0x19], dl
mov byte [ebp - 0x16], dh
xor edx, edx
mov ecx, dword [eax + 0x1c0]
mov eax, dword [eax + 0x1c8]
mov byte [ebp - 0x13], 0
mov byte [ebp - 0x13], 0
push dword [eax + ecx*4 - 4]
lea ecx, [ebp - 0x1b]
call fcn.1004c6a0
mov edx, dword [0x100b10e0]
add esp, 4
cmp dword [edx + 0x1740], eax
jne 0x1005e686
mov byte [edx + 0x1748], 1
cmp dword [esi + 0x1740], eax
jne 0x1005e805
movss xmm0, dword [esi + 0xc]
xorps xmm7, xmm7
mov ecx, dword [edi + 0xc]
addss xmm0, dword [edi + 0xccc]
mov eax, dword [edi + 0x38]
mov esi, dword [edi + 0x3c]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x84], 0
lea eax, [ecx + eax*2]
movss dword [edi + 0xccc], xmm0
mov dword [ebp - 0x90], eax
xorps xmm0, xmm0
mov eax, dword [edi + 0x40]
mov ecx, 1
movss dword [ebp - 0x4c], xmm0
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x74], 0xfffffc19
cmp esi, eax
je 0x1005e706
mov ecx, dword [ebp - 0x54]
cmovl eax, esi
mov dword [ebp - 0x74], 0xffffffff
lea eax, [ecx + eax*2]
mov ecx, 2
mov dword [ebp - 0x84], eax
mov edx, dword [ebp - 0x54]
mov esi, edx
mov eax, dword [ebp - 0x58]
movzx eax, al
add ecx, eax
xor eax, eax
movzx edx, word [edx]
test dx, dx
mov dword [ebp - 0x5c], eax
mov edx, dword [0x100b10e0]
je 0x1005e77d
mov eax, esi
movzx edx, word [eax]
mov eax, dword [ebp - 0x5c]
nop
cmp dx, 0xa
jne 0x1005e766
inc eax
cmp dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x5c], eax
jne 0x1005e750
cmp esi, dword [ebp - 0x90]
jb 0x1005e750
dec ecx
mov dword [ebp - 0x68], eax
test ecx, ecx
jle 0x1005e777
cmp dword [ebp - 0x74], 0xffffffff
jne 0x1005e766
cmp esi, dword [ebp - 0x84]
jb 0x1005e766
dec ecx
mov dword [ebp - 0x74], eax
test ecx, ecx
jle 0x1005e777
movzx eax, word [esi + 2]
add esi, 2
mov edx, eax
test ax, ax
mov eax, dword [ebp - 0x5c]
jne 0x1005e730
mov edx, dword [0x100b10e0]
mov esi, dword [ebp - 0x54]
inc eax
cmp dword [ebp - 0x68], 0xffffffff
mov ecx, eax
mov dword [ebp - 0x5c], eax
cmovne ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x74]
cmp eax, 0xffffffff
mov dword [ebp - 0x68], ecx
cmove eax, dword [ebp - 0x5c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x90]
mov ecx, eax
cmp eax, esi
jbe 0x1005e7c4
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x1005e7be
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1005e7b0
mov eax, dword [ebp - 0x90]
mov esi, dword [edx + 0x16dc]
movaps xmm1, xmm6
movss xmm2, dword [edx + 0x16e0]
movaps xmm4, xmm6
divss xmm2, dword [esi]
cmp ecx, eax
jae 0x1005eb7b
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x1005eb3c
maxss xmm1, xmm4
movaps xmm4, xmm6
jmp 0x1005eb69
mov edx, dword [0x100b10e0]
xor esi, esi
cmp byte [ebp - 0x58], 0
je 0x1005e861
mov esi, dword [ebp - 0x64]
xor ecx, ecx
mov al, byte [esi]
inc esi
test al, al
je 0x1005e838
mov dl, al
nop dword [eax + eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [esi]
cmovne eax, ecx
inc esi
mov ecx, eax
test dl, dl
jne 0x1005e820
mov edx, dword [0x100b10e0]
mov al, byte [esi - 1]
dec esi
cmp al, 0xa
je 0x1005e845
cmp al, 0xd
je 0x1005e845
inc ecx
mov eax, dword [ebp - 0x44]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x40], xmm4
mulss xmm0, dword [eax + 0x16e0]
movss dword [ebp - 0x30], xmm0
movss xmm1, dword [0x100a63c0]
xor ecx, ecx
call fcn.1004b940
mov ecx, dword [ebp - 0x44]
lea edi, [ebp - 0xc0]
cmp byte [ebp - 0x58], 0
mov dword [ebp - 0x38], 0
cmovne edi, dword [ebp - 0x38]
movss xmm2, dword [ecx + 0x16e0]
mov ecx, dword [ecx + 0x16dc]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x88], ecx
cmp eax, 0x1000000
jb 0x1005e997
test esi, esi
jne 0x1005e8ce
mov ecx, dword [ebp - 0x64]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005e8b7
mov eax, dword [ebp - 0x64]
sub ecx, esi
lea esi, [ecx + eax]
mov ecx, dword [ebp - 0x88]
jmp 0x1005e8d1
mov eax, dword [ebp - 0x64]
cmp eax, esi
je 0x1005e997
test ecx, ecx
jne 0x1005e8e9
mov eax, dword [edx + 0x16dc]
mov dword [ebp - 0x88], eax
ucomiss xmm2, dword [0x100a62c4]
lahf
test ah, 0x44
jp 0x1005e8fe
movss xmm2, dword [edx + 0x16e0]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x254]
mov ecx, dword [edx + 0x34]
mov eax, dword [edx + 0x3c]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x20], xmm0
test edi, edi
je 0x1005e966
movss xmm1, dword [edi]
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm1
jae 0x1005e930
movss dword [ebp - 0x20], xmm1
movss xmm1, dword [edi + 4]
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm1
jae 0x1005e944
movss dword [ebp - 0x1c], xmm1
movss xmm0, dword [edi + 8]
comiss xmm0, dword [ebp - 0x18]
ja 0x1005e954
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [edi + 0xc]
comiss xmm0, dword [ebp - 0x14]
ja 0x1005e964
movss dword [ebp - 0x14], xmm0
test edi, edi
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x20]
mov dword [esp], 0
push esi
push dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x78]
push dword [ebp - 0xc4]
push dword [eax + 4]
push dword [eax]
push edx
call fcn.1006f480
mov edi, dword [ebp - 0x44]
cmp byte [ebp - 0x58], 0
je 0x1005ea86
mov esi, dword [0x100b10e0]
xorps xmm3, xmm3
movss xmm4, dword [ebp - 0x30]
addss xmm4, dword [edi + 0x16e0]
movss xmm0, dword [ebp - 0x40]
mov eax, dword [esi + 0x1718]
addss xmm0, xmm3
mov byte [eax + 0x86], 1
mov eax, dword [esi + 0x1718]
cmp byte [eax + 0x88], 0
jne 0x1005ea44
movss xmm2, dword [eax + 0xb8]
lea ecx, [ebp - 0x2c]
movaps xmm1, xmm2
movss dword [ebp - 0xc0], xmm2
addss xmm1, xmm0
movss xmm0, dword [eax + 0xbc]
addss xmm4, xmm0
movss dword [ebp - 0xbc], xmm0
movss dword [ebp - 0xb8], xmm1
subss xmm1, xmm2
movss dword [ebp - 0xb4], xmm4
subss xmm4, xmm0
movss dword [ebp - 0x2c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x28], xmm4
call fcn.1004d820
xor edx, edx
lea ecx, [ebp - 0xc0]
call fcn.1004d920
call fcn.10050b50
mov ecx, 2
call fcn.100554b0
mov esi, dword [0x100b10e0]
mov eax, dword [esi + 0x1770]
mov ecx, dword [esi + 0x1778]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x142c], xmm0
dec dword [esi + 0x1770]
call fcn.10062180
mov eax, dword [ebp - 0xc8]
test al, al
je 0x1005ea9b
call fcn.100552b0
mov eax, dword [ebp - 0xc8]
cmp byte [edi + 0x2b78], 0
je 0x1005eabb
test al, al
jne 0x1005eabb
mov edx, dword [ebp - 0x64]
lea ecx, [ebp - 0xa4]
push 0
call fcn.1004f8f0
add esp, 4
movss xmm0, dword [ebp - 0xe0]
comiss xmm0, dword [0x100a62c4]
jbe 0x1005eb1a
movss xmm0, dword [ebp - 0xd8]
xor edx, edx
addss xmm0, dword [edi + 0x13ec]
mov ecx, dword [ebp - 0xe4]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0x9c]
addss xmm0, dword [edi + 0x13dc]
movss dword [ebp - 0xa0], xmm0
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push 1
call fcn.1004fa00
add esp, 0xc
test byte [ebx + 0x10], 0x20
movzx ecx, byte [ebp - 0x5e]
movzx eax, byte [ebp - 0x4e]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1009823a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp eax, 0xd
je 0x1005eb69
mov dword [ebp - 0x94], eax
cmp eax, dword [esi + 0x1c]
jge 0x1005eb5c
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0x94]
movss xmm0, dword [eax + edx*4]
jmp 0x1005eb61
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, dword [ebp - 0x90]
jb 0x1005e7e4
mov edx, dword [0x100b10e0]
cmp dword [ebp - 0x74], 0
maxss xmm4, xmm1
movd xmm5, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x44]
cvtdq2ps xmm5, xmm5
movss xmm3, dword [ecx + 0x16e0]
mulss xmm5, xmm3
movss dword [ebp - 0xe8], xmm4
movss dword [ebp - 0x94], xmm5
jl 0x1005ec45
mov eax, dword [ebp - 0x84]
mov ecx, eax
cmp eax, dword [ebp - 0x54]
jbe 0x1005ebda
mov edx, dword [ebp - 0x54]
cmp word [ecx - 2], 0xa
je 0x1005ebce
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x1005ebc0
mov edx, dword [0x100b10e0]
mov eax, dword [ebp - 0x84]
movaps xmm1, xmm6
movaps xmm7, xmm6
cmp ecx, eax
jae 0x1005ec2d
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x1005ebf8
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x1005ec1f
cmp eax, 0xd
je 0x1005ec1f
mov dword [ebp - 0x68], eax
cmp eax, dword [esi + 0x1c]
jge 0x1005ec12
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0x68]
movss xmm0, dword [eax + edx*4]
jmp 0x1005ec17
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, dword [ebp - 0x84]
jb 0x1005ebe4
mov edx, dword [0x100b10e0]
movd xmm0, dword [ebp - 0x74]
maxss xmm7, xmm1
mov ecx, dword [ebp - 0x44]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x4c], xmm0
mov eax, dword [ebp - 0x58]
test al, al
je 0x1005ec6f
movd xmm0, dword [ebp - 0x5c]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0x98]
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x40], xmm0
jmp 0x1005ec77
movss xmm3, dword [ebp - 0x98]
cmp byte [edi + 0xcd0], 0
je 0x1005ed3b
test dword [ebx + 0x10], 0x1000
jne 0x1005ecd7
movss xmm1, dword [edi + 0x34]
movaps xmm2, xmm3
comiss xmm1, xmm4
mulss xmm2, dword [0x100a6368]
jbe 0x1005ecb2
movaps xmm1, xmm4
movaps xmm0, xmm6
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x1005ecc2
movaps xmm0, xmm4
subss xmm0, xmm3
comiss xmm0, xmm1
jb 0x1005ecde
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [ebp - 0x58]
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x34], xmm0
jmp 0x1005ecde
mov dword [edi + 0x34], 0
test al, al
je 0x1005ed3b
mov eax, dword [ebp - 0x7c]
movaps xmm1, xmm5
subss xmm1, dword [ecx + 0x16e0]
movss xmm2, dword [eax + 0x60]
comiss xmm2, xmm1
jbe 0x1005ed03
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x1005ed12
movaps xmm0, xmm5
subss xmm0, dword [ebp - 0xac]
maxss xmm0, xmm2
subss xmm2, xmm0
movss dword [eax + 0x60], xmm0
addss xmm2, dword [eax + 0xbc]
movss dword [ebp - 0xd0], xmm2
movss dword [eax + 0xbc], xmm2
movss dword [ebp - 0xa0], xmm2
movss xmm4, dword [edi + 0x34]
mov ecx, dword [edi + 0x40]
mov esi, dword [edi + 0x3c]
mov byte [edi + 0xcd0], 0
movss dword [ebp - 0x84], xmm4
cmp esi, ecx
je 0x1005f043
mov eax, ecx
cmovl eax, esi
mov esi, dword [ebp - 0x54]
cmp dword [edi + 0x3c], ecx
cmovge ecx, dword [edi + 0x3c]
cmp byte [ebp - 0x58], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x54]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x90], eax
je 0x1005ed90
movss dword [ebp - 0xc4], xmm6
movss dword [ebp - 0x68], xmm6
jmp 0x1005ed9d
movss xmm0, dword [0x100a6408]
movss dword [ebp - 0x68], xmm0
movss xmm1, dword [0x100a63c0]
mov ecx, 0x29
call fcn.1004b940
movss xmm4, dword [ebp - 0x4c]
xorps xmm6, xmm6
mov ecx, dword [ebp - 0x78]
addss xmm4, dword [ebp - 0xd0]
mov dword [ebp - 0x5c], eax
movss xmm5, dword [ecx]
mov ecx, dword [ebp - 0x90]
addss xmm7, xmm5
subss xmm4, xmm6
subss xmm7, dword [ebp - 0x84]
movss dword [ebp - 0x4c], xmm4
cmp esi, ecx
jae 0x1005f039
movss xmm3, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x78]
nop word [eax + eax]
mov edx, dword [ebp - 0x44]
movss xmm5, dword [edx + 0x16e0]
mov edx, dword [0x100b10e0]
movaps xmm0, xmm5
addss xmm0, xmm3
comiss xmm4, xmm0
ja 0x1005f031
movss xmm0, dword [ebp - 0x9c]
comiss xmm0, xmm4
jbe 0x1005ee4f
cmp esi, ecx
jae 0x1005effa
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1005eff7
cmp esi, ecx
jb 0x1005ee36
jmp 0x1005eff7
mov eax, dword [edx + 0x16dc]
movaps xmm3, xmm6
movss xmm2, dword [edx + 0x16e0]
movaps xmm1, xmm6
divss xmm2, dword [eax]
cmp esi, ecx
jae 0x1005eec0
nop dword [eax + eax]
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x1005eeb0
cmp ecx, 0xd
je 0x1005eea4
mov eax, dword [edx + 0x16dc]
cmp ecx, dword [eax + 0x1c]
jge 0x1005ee97
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x1005ee9c
movss xmm0, dword [eax + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0x90]
cmp esi, ecx
jb 0x1005ee70
jmp 0x1005eec0
mov ecx, dword [ebp - 0x90]
movaps xmm3, xmm6
maxss xmm3, xmm1
movaps xmm1, xmm6
maxss xmm1, xmm3
comiss xmm6, xmm1
jb 0x1005eefd
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x16dc]
cmp dword [eax + 0x1c], 0x20
jle 0x1005eee5
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x1005eeea
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x100a6390]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0xc4]
addss xmm1, xmm7
movss xmm3, dword [ebp - 0xa8]
subss xmm0, xmm5
movaps xmm2, xmm4
addss xmm7, xmm6
addss xmm2, dword [ebp - 0x68]
movss dword [ebp - 0x18], xmm1
addss xmm0, xmm4
comiss xmm3, xmm7
movss dword [ebp - 0x20], xmm7
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x14], xmm2
jbe 0x1005ef46
movaps xmm7, xmm3
movss dword [ebp - 0x20], xmm7
movss xmm3, dword [ebp - 0x9c]
comiss xmm3, xmm0
jbe 0x1005ef5b
movaps xmm0, xmm3
movss dword [ebp - 0x1c], xmm0
movss xmm5, dword [ebp - 0x38]
comiss xmm1, xmm5
jbe 0x1005ef6d
movaps xmm1, xmm5
movss dword [ebp - 0x18], xmm1
movss xmm3, dword [ebp - 0xcc]
comiss xmm2, xmm3
jbe 0x1005ef82
movaps xmm2, xmm3
movss dword [ebp - 0x14], xmm2
comiss xmm2, dword [ebp - 0x9c]
jbe 0x1005eff7
comiss xmm3, xmm0
jbe 0x1005eff7
comiss xmm1, dword [ebp - 0xa8]
jbe 0x1005eff7
comiss xmm5, xmm7
jbe 0x1005eff7
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x18]
push dword [ebp - 0x5c]
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x254]
call fcn.1006c9e0
movss xmm0, dword [ebp - 0xdc]
xorps xmm6, xmm6
movss xmm4, dword [ebp - 0x4c]
movss xmm3, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x90]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xd4]
movss dword [ebp - 0xd4], xmm0
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x44]
movss xmm5, dword [eax]
movaps xmm7, xmm5
subss xmm7, dword [ebp - 0x84]
addss xmm4, dword [edx + 0x16e0]
mov edx, dword [0x100b10e0]
movss dword [ebp - 0x4c], xmm4
cmp esi, ecx
jb 0x1005ee00
movss xmm4, dword [ebp - 0x84]
jmp 0x1005f04b
movss xmm5, dword [ebp - 0x88]
movss xmm4, dword [ebp - 0x84]
jmp 0x1005f04b
movss xmm5, dword [ebp - 0x88]
movups xmm2, xmmword [edx + 0x142c]
mov edi, dword [edi + 0x28]
add edi, dword [ebp - 0x64]
comiss xmm6, xmm2
movaps xmm1, xmm2
movaps xmmword [ebp - 0x20], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edx + 0x13b8]
jbe 0x1005f075
movaps xmm0, xmm6
jmp 0x1005f081
movss xmm0, dword [0x100a63c0]
minss xmm0, xmm2
movss xmm2, dword [0x100a6550]
movss xmm7, dword [0x100a6390]
movss xmm3, dword [ebp - 0x1c]
comiss xmm6, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1005f0ac
movaps xmm0, xmm6
jmp 0x1005f0b8
movss xmm0, dword [0x100a63c0]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x18]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x1005f0d8
movaps xmm0, xmm6
jmp 0x1005f0e4
movss xmm0, dword [0x100a63c0]
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x1005f0ff
movaps xmm0, xmm6
jmp 0x1005f10b
movss xmm0, dword [0x100a63c0]
minss xmm0, xmm1
mulss xmm0, xmm2
lea esi, [ebp - 0xc0]
mov dword [ebp - 0x38], 0
addss xmm0, xmm7
cvttss2si eax, xmm0
movaps xmm0, xmm5
subss xmm0, xmm4
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp - 0x44]
cmp byte [ebp - 0x58], 0
mov dword [ebp - 0xc4], eax
cmovne esi, dword [ebp - 0x38]
movss xmm2, dword [ecx + 0x16e0]
mov ecx, dword [ecx + 0x16dc]
movss dword [ebp - 0x8c], xmm0
movss xmm0, dword [ebp - 0xd0]
mov dword [ebp - 0x68], ecx
subss xmm0, xmm6
movss dword [ebp - 0x88], xmm0
cmp eax, 0x1000000
jb 0x1005f25d
test edi, edi
jne 0x1005f197
mov ecx, dword [ebp - 0x64]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005f183
mov eax, dword [ebp - 0x64]
sub ecx, edi
lea edi, [ecx + eax]
mov ecx, dword [ebp - 0x68]
jmp 0x1005f19a
mov eax, dword [ebp - 0x64]
cmp eax, edi
je 0x1005f25d
test ecx, ecx
jne 0x1005f1af
mov eax, dword [edx + 0x16dc]
mov dword [ebp - 0x68], eax
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jp 0x1005f1c0
movss xmm2, dword [edx + 0x16e0]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x254]
mov ecx, dword [edx + 0x34]
mov eax, dword [edx + 0x3c]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x20], xmm0
test esi, esi
je 0x1005f228
movss xmm1, dword [esi]
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm1
jae 0x1005f1f2
movss dword [ebp - 0x20], xmm1
movss xmm1, dword [esi + 4]
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm1
jae 0x1005f206
movss dword [ebp - 0x1c], xmm1
movss xmm0, dword [esi + 8]
comiss xmm0, dword [ebp - 0x18]
ja 0x1005f216
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [esi + 0xc]
comiss xmm0, dword [ebp - 0x14]
ja 0x1005f226
movss dword [ebp - 0x14], xmm0
test esi, esi
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x68]
lea eax, [ebp - 0x20]
mov dword [esp], 0
push edi
push dword [ebp - 0x64]
push eax
push dword [ebp - 0xc4]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
push edx
call fcn.1006f480
xorps xmm6, xmm6
mov edi, dword [ebp - 0x44]
movss xmm0, dword [edi + 0x26dc]
comiss xmm6, xmm0
jae 0x1005f28b
movss xmm1, dword [0x100a63c4]
call fcn.10008bd0
movss xmm1, dword [0x100a63ac]
comiss xmm1, xmm0
jae 0x1005f28b
xor cl, cl
jmp 0x1005f28d
mov cl, 1
movss xmm3, dword [ebp - 0x94]
mov eax, dword [ebp - 0x78]
movss xmm6, dword [0x100a63c0]
addss xmm3, dword [ebp - 0xd0]
movss xmm4, dword [eax]
addss xmm4, dword [ebp - 0xe8]
subss xmm3, dword [0x100a62c4]
subss xmm4, dword [ebp - 0x84]
movss dword [ebp - 0x94], xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
subss xmm0, dword [edi + 0x16e0]
movss dword [ebp - 0x88], xmm4
movaps xmm2, xmm4
movss dword [ebp - 0xc0], xmm4
addss xmm2, xmm6
subss xmm1, dword [0x100a63d4]
addss xmm0, dword [0x100a6390]
movss dword [ebp - 0xb8], xmm2
movss dword [ebp - 0xb4], xmm1
movss dword [ebp - 0xbc], xmm0
test cl, cl
je 0x1005f3a1
comiss xmm1, dword [ebp - 0x9c]
jbe 0x1005f3a1
movss xmm5, dword [ebp - 0xd4]
comiss xmm5, xmm0
jbe 0x1005f3a1
comiss xmm2, dword [ebp - 0xa8]
jbe 0x1005f3a1
movss xmm0, dword [ebp - 0xdc]
comiss xmm0, xmm4
jbe 0x1005f3a1
sub esp, 8
movss dword [ebp - 0x28], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x2c], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.1004b940
add esp, 4
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x254]
call fcn.1006c7d0
movss xmm3, dword [ebp - 0x94]
movss xmm4, dword [ebp - 0x88]
movss xmm6, dword [0x100a63c0]
cmp byte [ebp - 0x70], 0
je 0x1005e99a
subss xmm3, dword [edi + 0x16e0]
subss xmm4, xmm6
movss dword [edi + 0x2b6c], xmm3
movss dword [edi + 0x2b68], xmm4
jmp 0x1005e99a