Function at 0x1002a970
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, 0x128
mov eax, dword [0x1010d024]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x1010d048]
push edi
mov edi, esi
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0xa8], edi
mov eax, dword [edi + 0x1804]
mov byte [eax + 0x8e], 1
mov eax, dword [edi + 0x1804]
mov dword [ebp - 0x94], eax
cmp byte [eax + 0x90], 0
jne 0x1002ae0a
mov ecx, dword [ebx + 0x10]
mov edx, ecx
mov dword [ebp - 0x90], ecx
shr dword [ebp - 0x90], 0xe
not byte [ebp - 0x90]
and byte [ebp - 0x90], 1
mov dword [ebp - 0xc0], ecx
shr dword [ebp - 0xc0], 0xf
and byte [ebp - 0xc0], 1
shr ecx, 0x10
shr edx, 0x14
not cl
and edx, 0xffffff01
and ecx, 0xffffff01
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xac], ecx
test dl, dl
je 0x1002aa40
call fcn.10034690
mov esi, dword [0x1010d048]
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x1a4]
xor edx, edx
mov eax, dword [eax + 0x1ac]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x114]
call fcn.1001aed0
add esp, 4
mov dword [ebp - 0x68], eax
cmp dword [esi + 0x1824], eax
jne 0x1002aa72
mov byte [esi + 0x1830], 1
mov edx, dword [ebp - 0x114]
mov ecx, edx
cmp edx, 0xffffffff
jae 0x1002aa9c
nop
mov dl, byte [ecx]
test dl, dl
je 0x1002aa96
cmp dl, 0x23
jne 0x1002aa90
cmp byte [ecx + 1], dl
je 0x1002aa96
inc ecx
cmp ecx, 0xffffffff
jb 0x1002aa80
mov edx, dword [ebp - 0x114]
movss xmm0, dword [esi + 0x1734]
movss xmm1, dword [0x100f9248]
mov eax, dword [esi + 0x1730]
mov dword [ebp - 0x80], eax
movss dword [ebp - 0x100], xmm0
movss dword [ebp - 0x11c], xmm1
cmp edx, ecx
jne 0x1002aad6
xorps xmm6, xmm6
movss dword [ebp - 0x120], xmm6
jmp 0x1002ab40
movss xmm3, dword [0x100f9228]
movaps xmm2, xmm0
push ecx
push ecx
push edx
push ecx
lea ecx, [ebp - 0xc8]
mov dword [esp], 0xbf800000
push ecx
mov ecx, eax
call fcn.10043140
movss xmm1, dword [ebp - 0xc8]
xorps xmm6, xmm6
comiss xmm1, xmm6
jbe 0x1002ab1d
mov eax, dword [ebp - 0x80]
movss xmm0, dword [ebp - 0x100]
divss xmm0, dword [eax]
subss xmm1, xmm0
addss xmm1, dword [0x100f8eec]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xc4]
cmp byte [ebp - 0x9c], 0
mov eax, dword [ebx + 0xc]
movss xmm7, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [ebp - 0xbc], xmm7
movss dword [ebp - 0xf4], xmm1
je 0x1002ab75
movss xmm0, dword [esi + 0x1734]
mulss xmm0, dword [0x100f90f4]
movss xmm5, dword [edi + 0x1424]
mov ecx, dword [esi + 0x1804]
movaps xmm3, xmm5
addss xmm3, xmm5
movss xmm2, dword [ecx + 0x144]
comiss xmm6, xmm2
addss xmm3, xmm0
jbe 0x1002ac0d
mov eax, dword [ecx + 0x1a0]
movss xmm4, dword [ecx + 0xd8]
movss xmm1, dword [ecx + 0x4c]
mov dword [ebp - 0x78], eax
subss xmm4, dword [ecx + 0x14]
test eax, eax
je 0x1002abf9
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x78]
lea eax, [edx + 1]
movss xmm0, dword [ecx + 0x14]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [ebp - 0x78]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
mov ecx, dword [esi + 0x1804]
addss xmm1, xmm0
subss xmm1, dword [ecx + 0x54]
subss xmm1, xmm4
addss xmm1, xmm2
movss xmm2, dword [0x100f8ef4]
maxss xmm2, xmm1
comiss xmm6, xmm7
cvttss2si eax, xmm2
xorps xmm2, xmm2
xorps xmm1, xmm1
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x1002ac2c
comiss xmm6, dword [ebp - 0xf4]
jbe 0x1002ac97
movss xmm1, dword [ecx + 0x4c]
movss xmm2, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x1a0]
mov dword [ebp - 0x100], ecx
test ecx, ecx
je 0x1002ac85
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [ebp - 0x100]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
mov eax, dword [esi + 0x1804]
addss xmm1, xmm0
subss xmm1, dword [eax + 0x54]
mov eax, dword [esi + 0x1804]
add eax, 0x14
addss xmm1, dword [eax]
addss xmm2, dword [eax + 4]
comiss xmm6, xmm7
movss xmm0, dword [0x100f90c8]
jb 0x1002acdb
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x1002acba
movaps xmm7, xmm4
movss dword [ebp - 0xbc], xmm7
jmp 0x1002acdb
mov eax, dword [esi + 0x1804]
subss xmm1, dword [eax + 0xd8]
maxss xmm1, xmm0
addss xmm1, xmm7
movaps xmm7, xmm1
movss dword [ebp - 0xbc], xmm1
movss xmm1, dword [ebp - 0xf4]
comiss xmm6, xmm1
jb 0x1002ad1f
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jp 0x1002acfe
movaps xmm1, xmm3
movss dword [ebp - 0xf4], xmm1
jmp 0x1002ad1f
mov eax, dword [esi + 0x1804]
subss xmm2, dword [eax + 0xdc]
maxss xmm2, xmm0
addss xmm2, xmm1
movaps xmm1, xmm2
movss dword [ebp - 0xf4], xmm2
mov esi, dword [ebp - 0x94]
movss xmm0, dword [ebp - 0x120]
comiss xmm0, xmm6
movss xmm4, dword [esi + 0xd8]
movss xmm3, dword [esi + 0xdc]
addss xmm7, xmm4
addss xmm1, xmm3
movss dword [ebp - 0x104], xmm4
movss dword [ebp - 0xfc], xmm3
movss dword [ebp - 0x30], xmm4
movss dword [ebp - 0x2c], xmm3
movss dword [ebp - 0x124], xmm7
movss dword [ebp - 0x28], xmm7
movss dword [ebp - 0x24], xmm1
jbe 0x1002ad83
movaps xmm2, xmm0
addss xmm2, dword [edi + 0x1438]
jmp 0x1002ad86
xorps xmm2, xmm2
cmp byte [ebp - 0x9c], 0
movaps xmm0, xmm7
addss xmm0, xmm2
movss dword [ebp - 0x20], xmm4
movaps xmm2, xmm1
movss dword [ebp - 0x1c], xmm3
addss xmm2, xmm6
mov dword [ebp - 0xb0], esi
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x14], xmm2
je 0x1002ae58
movaps xmm0, xmm7
subss xmm1, xmm3
subss xmm0, xmm4
push ecx
mov ecx, dword [ebp - 0x68]
lea edx, [ebp - 0xc8]
movss dword [ebp - 0xc4], xmm1
movss dword [ebp - 0xc8], xmm0
call fcn.10020ca0
add esp, 4
test al, al
jne 0x1002ae1f
call fcn.10020bc0
mov ecx, 3
call fcn.10025870
mov ecx, 1
call fcn.10025820
call fcn.100347a0
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100bceb5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [0x1010d048]
movss xmm7, dword [ebp - 0xbc]
mov eax, dword [ecx + 0x1804]
mov byte [eax + 0x8e], 1
mov eax, dword [ecx + 0x1804]
mov dword [ebp - 0xb0], eax
subss xmm7, dword [eax + 0x84]
movss dword [ebp - 0xbc], xmm7
jmp 0x1002ae91
subss xmm0, xmm4
movaps xmm1, xmm5
subss xmm2, xmm3
lea ecx, [ebp - 0xc8]
movss dword [ebp - 0xc8], xmm0
movss dword [ebp - 0xc4], xmm2
call fcn.1001c6e0
mov edx, dword [ebp - 0x68]
lea ecx, [ebp - 0x20]
call fcn.1001c800
test al, al
je 0x1002ae0a
mov edx, dword [ebp - 0x68]
lea ecx, [ebp - 0x30]
call fcn.1001c930
mov byte [ebp - 0x69], al
test al, al
je 0x1002aead
mov dword [edi + 0x1988], 1
cmp byte [ebp - 0xc0], 0
je 0x1002af4a
mov esi, dword [edi + 0x1730]
cmp dword [esi + 0x28], 0x2a
jle 0x1002aee2
mov eax, dword [esi + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
je 0x1002aee2
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
jmp 0x1002aee5
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x78], eax
lea edx, [edi + 0x26c8]
mov eax, dword [esi]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov eax, dword [edi + 0x1730]
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 [edi + 0x1730]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [edi + 0x1730]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [edi + 0x1730]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0x78]
mov dword [edx + 0x34], eax
mov eax, dword [eax + 4]
mov dword [edx + 0x38], eax
call fcn.10025640
mov esi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x68]
test dword [ebx + 0x10], 0x440
mov ecx, esi
sete al
movzx eax, al
push eax
call fcn.1001cab0
add esp, 4
mov byte [ebp - 0x86], al
test al, al
je 0x1002afe4
mov ecx, dword [esi + 0x244]
cmp ecx, dword [esi + 0x24c]
jne 0x1002afe4
mov byte [ebp - 0x72], 1
mov byte [ebp - 0x7b], 0
cmp byte [ebp - 0x69], 0
je 0x1002af95
cmp byte [edi + 0x374], 0
mov byte [ebp - 0x71], 1
jne 0x1002af99
mov byte [ebp - 0x71], 0
cmp byte [ebp - 0x9c], 0
je 0x1002aff6
cmp dword [edi + 0x1824], 0
jne 0x1002aff6
cmp dword [edi + 0x19f4], edx
jne 0x1002aff6
mov eax, dword [ebp - 0xb0]
xor edx, edx
mov ecx, dword [eax + 0x1a4]
mov eax, dword [eax + 0x1ac]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1001aed0
add esp, 4
cmp dword [edi + 0x1828], eax
jne 0x1002aff6
mov al, 1
jmp 0x1002aff8
mov byte [ebp - 0x72], 0
test al, al
je 0x1002af7e
mov byte [ebp - 0x7b], 1
mov byte [ebp - 0x72], 0
jmp 0x1002af82
xor al, al
mov ecx, dword [edi + 0x1824]
mov edx, dword [ebp - 0x68]
mov byte [ebp - 0x85], 0
cmp ecx, edx
je 0x1002b019
test byte [ebx + 0x10], 0x10
mov byte [ebp - 0x8c], 1
jne 0x1002b020
mov byte [ebp - 0x8c], 0
cmp byte [ebp - 0x86], 0
mov dword [ebp - 0x100], 1
jne 0x1002b055
cmp byte [ebp - 0x71], 0
jne 0x1002b055
test al, al
jne 0x1002b055
cmp byte [edi + 0x374], al
je 0x1002b2ee
mov byte [ebp - 0x85], 1
jmp 0x1002b2ee
cmp ecx, edx
je 0x1002b2a0
mov eax, dword [edi + 0x1a20]
mov esi, dword [ebx + 8]
mov dword [ebp - 0xb4], eax
inc esi
mov eax, dword [edi + 0x19fc]
cmp esi, eax
jle 0x1002b0a7
test eax, eax
je 0x1002b08d
cdq
sub eax, edx
lea edx, [edi + 0x19f8]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1002b098
mov ecx, 8
lea edx, [edi + 0x19f8]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10035ba0
mov dword [edi + 0x19f8], esi
mov eax, dword [edi + 0x1a08]
cmp esi, eax
jle 0x1002b0e7
test eax, eax
je 0x1002b0cd
cdq
sub eax, edx
lea edx, [edi + 0x1a04]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1002b0d8
mov ecx, 8
lea edx, [edi + 0x1a04]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10036130
mov dword [edi + 0x1a04], esi
mov eax, dword [edi + 0x1a0c]
mov dword [ebp - 0x80], eax
cmp esi, 1
jb 0x1002b114
push esi
push dword [ebp - 0x84]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [ebp - 0x80]
add esp, 0xc
mov byte [esi + eax - 1], 0
mov edx, dword [edi + 0x1a00]
mov esi, edx
mov eax, dword [edi + 0x19f8]
mov ecx, dword [ebp - 0x84]
dec eax
mov dword [ebp - 0x78], edx
lea eax, [edx + eax*2]
mov dword [ebp - 0xcc], eax
cmp edx, eax
jae 0x1002b187
mov edi, ecx
nop dword [eax + eax]
cmp byte [edi], 0
je 0x1002b172
push 0
mov edx, edi
lea ecx, [ebp - 0x80]
call fcn.1001aff0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x1002b172
cmp eax, 0x10000
jae 0x1002b16a
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0xcc]
jb 0x1002b140
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x98], edi
mov edi, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x98]
sub ecx, dword [ebp - 0x84]
xor eax, eax
mov word [esi], ax
sub esi, edx
sar esi, 1
mov dword [edi + 0x1a1c], ecx
mov ecx, dword [ebp - 0x68]
mov dword [edi + 0x1a20], esi
mov dword [edi + 0x26c0], 0xbe99999a
cmp dword [edi + 0x19f4], ecx
jne 0x1002b1fe
cmp dword [ebp - 0xb4], esi
jne 0x1002b1fe
mov eax, dword [edi + 0x1a2c]
mov ecx, esi
cmp eax, esi
cmovl ecx, eax
mov eax, dword [edi + 0x1a30]
cmp eax, esi
mov dword [edi + 0x1a2c], ecx
mov ecx, esi
cmovl ecx, eax
mov eax, dword [edi + 0x1a34]
cmp eax, esi
mov dword [edi + 0x1a30], ecx
mov ecx, dword [ebp - 0x9c]
cmovl esi, eax
mov dword [edi + 0x1a34], esi
jmp 0x1002b26d
mov dword [edi + 0x1a28], eax
mov dword [edi + 0x19f4], ecx
mov ecx, dword [ebp - 0x9c]
mov dword [edi + 0x1a30], eax
mov dword [edi + 0x1a34], eax
mov dword [edi + 0x1a2c], eax
mov dword [edi + 0x1a40], eax
mov al, cl
xor al, 1
mov dword [edi + 0x26b6], 0x630000
mov dword [edi + 0x26ba], 0x3e70000
mov dword [edi + 0x1a38], 0x10000
mov byte [edi + 0x1a3c], al
test cl, cl
jne 0x1002b26d
mov eax, dword [ebp - 0x8c]
cmp byte [ebp - 0x72], cl
movzx eax, al
cmovne eax, dword [ebp - 0x100]
mov dword [ebp - 0x8c], eax
test dword [ebx + 0x10], 0x2000
je 0x1002b27d
mov byte [edi + 0x1a38], 1
test cl, cl
jne 0x1002b29a
cmp byte [ebp - 0x7b], cl
jne 0x1002b293
cmp byte [ebp - 0x71], cl
je 0x1002b29a
cmp byte [edi + 0xe9], cl
je 0x1002b29a
mov byte [ebp - 0x8c], 1
mov esi, dword [ebp - 0x94]
mov edx, dword [0x1010d048]
mov ecx, dword [edx + 0x1824]
cmp ecx, dword [ebp - 0x68]
setne al
mov byte [edx + 0x1831], al
mov eax, dword [ebp - 0x68]
cmp ecx, eax
je 0x1002b2c9
mov dword [edx + 0x182c], 0
test eax, eax
mov dword [edx + 0x1824], eax
mov ecx, esi
mov byte [edx + 0x1832], 0
setne al
mov dword [edx + 0x183c], esi
or byte [edx + 0x1830], al
call fcn.10025510
mov eax, dword [ebp - 0x68]
mov byte [ebp - 0x86], 0
mov byte [ebp - 0x7b], 0
cmp dword [edi + 0x1824], eax
jne 0x1002b6fc
cmp byte [ebp - 0x90], 0
jne 0x1002b425
cmp byte [edi + 0x1831], 0
jne 0x1002b425
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x19fc]
lea esi, [ecx + 1]
cmp esi, eax
jle 0x1002b365
test eax, eax
je 0x1002b348
cdq
sub eax, edx
lea edx, [edi + 0x19f8]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1002b353
mov ecx, 8
lea edx, [edi + 0x19f8]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10035ba0
mov ecx, dword [ebx + 8]
mov eax, dword [ebp - 0x84]
mov dword [edi + 0x19f8], esi
mov edx, dword [edi + 0x1a00]
mov esi, edx
mov dword [ebp - 0x78], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x1002b3d3
mov edi, eax
cmp byte [edi], 0
je 0x1002b3c1
push 0
mov edx, edi
lea ecx, [ebp - 0x80]
call fcn.1001aff0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x1002b3be
cmp eax, 0x10000
jae 0x1002b3af
mov word [esi], ax
add esi, 2
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebx + 8]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x1002b385
jmp 0x1002b3c1
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x98], edi
mov edi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0x84]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 0x1a1c], eax
mov ecx, esi
mov eax, dword [edi + 0x1a2c]
cmp eax, esi
mov dword [edi + 0x1a20], esi
cmovl ecx, eax
mov eax, dword [edi + 0x1a30]
cmp eax, esi
mov dword [edi + 0x1a2c], ecx
mov ecx, esi
cmovl ecx, eax
mov eax, dword [edi + 0x1a34]
cmp eax, esi
mov dword [edi + 0x1a30], ecx
cmovl esi, eax
mov dword [edi + 0x1a34], esi
mov eax, dword [ebx + 8]
mov dword [edi + 0x1a24], eax
cmp byte [edi + 0xd8], 0
mov dword [edi + 0x2994], 1
sete al
cmp byte [ebp - 0x9c], 0
mov byte [edi + 0x1832], al
movss xmm1, dword [edi + 0xd0]
subss xmm1, dword [ebp - 0x104]
subss xmm1, dword [edi + 0x1420]
addss xmm1, dword [edi + 0x1a28]
je 0x1002b491
mov eax, dword [ebp - 0xb0]
movss xmm2, dword [edi + 0xd4]
subss xmm2, dword [eax + 0xdc]
subss xmm2, dword [edi + 0x1424]
jmp 0x1002b4a1
movss xmm2, dword [edi + 0x1734]
mulss xmm2, dword [0x100f8eac]
cmp byte [ebp - 0x8c], 0
mov al, byte [edi + 0xac]
jne 0x1002b60d
mov cl, byte [ebp - 0x69]
test cl, cl
je 0x1002b4cb
test al, al
jne 0x1002b521
cmp byte [edi + 0x379], al
jne 0x1002b60d
cmp byte [edi + 0x374], 0
lea esi, [edi + 0x26c5]
mov al, byte [esi]
je 0x1002b58b
test al, al
jne 0x1002b58b
test cl, cl
je 0x1002b51a
lea ecx, [edi + 0x19f4]
call fcn.100293c0
mov dword [edi + 0x1a2c], eax
mov dword [edi + 0x1a30], eax
mov dword [edi + 0x1a34], eax
mov byte [edi + 0x1a3b], 0
mov dword [edi + 0x26c0], 0xbe99999a
mov ecx, esi
jmp 0x1002b639
cmp byte [edi + 0x379], 0
je 0x1002b4cb
push 0x1000c
lea edx, [edi + 0x1a2c]
lea ecx, [edi + 0x19f4]
call fcn.100297a0
add esp, 4
mov byte [edi + 0x26c4], 1
lea eax, [edi + 0x19f4]
mov dword [edi + 0x26c0], 0xbe99999a
lea edx, [edi + 0x1a2c]
mov ecx, eax
push 0x3000d
call fcn.100297a0
add esp, 4
mov byte [edi + 0x26c4], 1
mov dword [edi + 0x26c0], 0xbe99999a
lea ecx, [edi + 0x26c5]
jmp 0x1002b639
cmp byte [edi + 0xd8], 0
mov ecx, esi
je 0x1002b639
test al, al
jne 0x1002b639
movss xmm0, dword [edi + 0x328]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1002b5c7
movss xmm0, dword [edi + 0x32c]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1002b639
lea ecx, [edi + 0x19f4]
call fcn.100293c0
mov ecx, dword [edi + 0x1a30]
cmp ecx, dword [edi + 0x1a34]
jne 0x1002b5ec
mov ecx, dword [edi + 0x1a2c]
mov dword [edi + 0x1a30], ecx
mov dword [edi + 0x1a34], eax
mov ecx, esi
mov dword [edi + 0x1a2c], eax
mov dword [edi + 0x26c0], 0xbe99999a
mov byte [edi + 0x26c4], 1
jmp 0x1002b639
mov eax, dword [edi + 0x1a20]
lea ecx, [edi + 0x26c5]
mov dword [edi + 0x1a30], 0
mov dword [edi + 0x1a34], eax
mov dword [edi + 0x1a2c], eax
mov byte [edi + 0x1a3b], 0
mov byte [ecx], 1
cmp byte [ecx], 0
je 0x1002b64a
cmp byte [edi + 0xd8], 0
jne 0x1002b64a
mov byte [ecx], 0
cmp word [edi + 0x2ee], 0
lea esi, [edi + 0x2ee]
je 0x1002b6fc
cmp byte [edi + 0xe9], 0
je 0x1002b670
cmp byte [edi + 0xeb], 0
je 0x1002b6e2
cmp byte [ebp - 0x90], 0
je 0x1002b6e2
mov dword [ebp - 0xb4], 0
movzx eax, word [esi]
test ax, ax
je 0x1002b6e2
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0x78]
sub esp, 8
mov dword [ebp - 0x78], eax
call fcn.1002a7f0
add esp, 8
test al, al
je 0x1002b6cd
push dword [ebp - 0x78]
lea eax, [edi + 0x19f4]
lea edx, [edi + 0x1a2c]
mov ecx, eax
call fcn.100297a0
add esp, 4
mov byte [edi + 0x26c4], 1
mov dword [edi + 0x26c0], 0xbe99999a
mov ecx, dword [ebp - 0xb4]
add esi, 2
inc ecx
mov dword [ebp - 0xb4], ecx
cmp ecx, 0x11
jl 0x1002b683
xorps xmm0, xmm0
movups xmmword [edi + 0x2ee], xmm0
movups xmmword [edi + 0x2fe], xmm0
mov word [edi + 0x30e], 0
mov ecx, dword [ebp - 0x68]
xor al, al
mov byte [ebp - 0x61], al
cmp dword [edi + 0x1824], ecx
jne 0x1002c8fc
cmp byte [edi + 0x1831], al
jne 0x1002c8fc
cmp byte [ebp - 0x85], al
jne 0x1002c8fc
mov ah, byte [edi + 0xea]
xor esi, esi
mov dl, byte [edi + 0xe9]
test ah, ah
mov ecx, 0x20000
mov byte [ebp - 0x71], ah
cmovne esi, ecx
mov byte [ebp - 0x62], dl
mov cl, byte [edi + 0xac]
mov byte [ebp - 0xd1], cl
test cl, cl
je 0x1002b777
cmp byte [edi + 0xec], al
je 0x1002b769
test dl, dl
jne 0x1002b769
mov eax, 1
jmp 0x1002b76e
xor eax, eax
mov byte [ebp - 0x62], dl
test eax, eax
je 0x1002b798
mov ah, byte [ebp - 0x71]
jmp 0x1002b784
test dl, dl
je 0x1002b795
cmp byte [edi + 0xec], 0
jne 0x1002b795
cmp byte [edi + 0xeb], 0
jne 0x1002b798
test ah, ah
jne 0x1002b798
mov dh, 1
jmp 0x1002b79d
mov byte [ebp - 0x62], dl
mov ah, byte [ebp - 0x71]
xor dh, dh
mov byte [ebp - 0x72], dh
mov al, dl
test cl, cl
je 0x1002b82d
cmp byte [edi + 0xec], 0
mov cl, byte [edi + 0xeb]
mov byte [ebp - 0x79], cl
mov byte [ebp - 0x62], dl
je 0x1002b830
mov byte [ebp - 0x79], cl
mov byte [ebp - 0x62], dl
test al, al
jne 0x1002b830
mov byte [ebp - 0x79], cl
mov byte [ebp - 0x62], dl
test cl, cl
jne 0x1002b830
mov byte [ebp - 0x6a], 1
mov al, byte [ebp - 0x6a]
mov byte [ebp - 0x79], cl
mov byte [ebp - 0x62], dl
cmp byte [ebp - 0x71], 0
mov cl, al
lea eax, [edi + 0xec]
mov byte [ebp - 0x9d], cl
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x6a], cl
mov byte [ebp - 0x6b], 0
je 0x1002b85c
mov byte [ebp - 0x6a], cl
mov byte [ebp - 0x6b], 0
test dl, dl
jne 0x1002b85c
mov byte [ebp - 0x6a], cl
mov byte [ebp - 0x6b], dl
cmp byte [edi + 0xeb], dl
jne 0x1002b85c
mov byte [ebp - 0x6a], cl
mov byte [ebp - 0x6b], dl
cmp byte [eax], dl
jne 0x1002b85c
mov byte [ebp - 0x7a], 1
mov byte [ebp - 0x6a], cl
mov byte [ebp - 0x6b], dl
jmp 0x1002b860
mov byte [ebp - 0x79], dl
xor al, al
mov byte [ebp - 0x6a], al
test dl, dl
je 0x1002b7e0
test ah, ah
jne 0x1002b7e0
cmp byte [edi + 0xeb], ah
jne 0x1002b7e0
lea ecx, [edi + 0xec]
mov dword [ebp - 0x78], ecx
cmp byte [ecx], ah
jne 0x1002b7e0
mov byte [ebp - 0x6b], 1
mov byte [ebp - 0x9d], ah
mov byte [ebp - 0x7a], 0
test dh, dh
xorps xmm4, xmm4
mov edx, dword [0x1010d048]
je 0x1002b8e8
mov eax, dword [edx + 0x6c]
test eax, eax
js 0x1002b8e8
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002b96d
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002b8e8
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002b8a9
mov eax, 1
jmp 0x1002b8e0
comiss xmm2, xmm1
jae 0x1002b8de
comiss xmm4, xmm3
jae 0x1002b8de
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002b8e0
xor eax, eax
test eax, eax
jg 0x1002b96d
cmp byte [ebp - 0x7a], 0
je 0x1002b99c
mov eax, dword [edx + 0x50]
test eax, eax
js 0x1002b99c
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002b96d
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002b99c
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002b932
mov eax, 1
jmp 0x1002b969
comiss xmm2, xmm1
jae 0x1002b967
comiss xmm4, xmm3
jae 0x1002b967
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002b969
xor eax, eax
test eax, eax
jle 0x1002b99c
cmp byte [ebp - 0x90], 0
je 0x1002b99c
cmp byte [ebp - 0xc0], 0
jne 0x1002b99c
cmp byte [ebp - 0x9c], 0
je 0x1002b996
mov eax, dword [edi + 0x1a30]
cmp eax, dword [edi + 0x1a34]
je 0x1002b99c
mov byte [ebp - 0x69], 1
jmp 0x1002b9a0
mov byte [ebp - 0x69], 0
cmp byte [ebp - 0x72], 0
je 0x1002ba21
mov eax, dword [edx + 0x64]
test eax, eax
js 0x1002ba21
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002baa2
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002ba21
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002b9e2
mov eax, 1
jmp 0x1002ba19
comiss xmm2, xmm1
jae 0x1002ba17
comiss xmm4, xmm3
jae 0x1002ba17
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002ba19
xor eax, eax
test eax, eax
jg 0x1002baa2
cmp byte [ebp - 0x6b], 0
je 0x1002bac8
mov eax, dword [edx + 0x4c]
test eax, eax
js 0x1002bac8
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002baa2
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002bac8
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002ba67
mov eax, 1
jmp 0x1002ba9e
comiss xmm2, xmm1
jae 0x1002ba9c
comiss xmm4, xmm3
jae 0x1002ba9c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002ba9e
xor eax, eax
test eax, eax
jle 0x1002bac8
cmp byte [ebp - 0xc0], 0
jne 0x1002bac8
cmp byte [ebp - 0x9c], 0
je 0x1002bac2
mov eax, dword [edi + 0x1a30]
cmp eax, dword [edi + 0x1a34]
je 0x1002bac8
mov byte [ebp - 0x6b], 1
jmp 0x1002bacc
mov byte [ebp - 0x6b], 0
cmp byte [ebp - 0x72], 0
je 0x1002bb49
mov eax, dword [edx + 0x68]
test eax, eax
js 0x1002bb49
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002bbc6
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002bb49
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002bb0e
mov eax, 1
jmp 0x1002bb45
comiss xmm2, xmm1
jae 0x1002bb43
comiss xmm4, xmm3
jae 0x1002bb43
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002bb45
xor eax, eax
test eax, eax
jg 0x1002bbc6
cmp byte [ebp - 0x7a], 0
je 0x1002bbd3
mov eax, dword [edx + 0x4c]
test eax, eax
js 0x1002bbd3
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002bbc6
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002bbd3
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002bb8b
mov eax, 1
jmp 0x1002bbc2
comiss xmm2, xmm1
jae 0x1002bbc0
comiss xmm4, xmm3
jae 0x1002bbc0
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002bbc2
xor eax, eax
test eax, eax
jle 0x1002bbd3
cmp byte [ebp - 0x90], 0
mov byte [ebp - 0x7a], 1
jne 0x1002bbd7
mov byte [ebp - 0x7a], 0
mov eax, dword [edx + 0x2c]
test eax, eax
js 0x1002bca0
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002bc52
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002bca0
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002bc17
mov eax, 1
jmp 0x1002bc4e
comiss xmm2, xmm1
jae 0x1002bc4c
comiss xmm4, xmm3
jae 0x1002bc4c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002bc4e
xor eax, eax
test eax, eax
jle 0x1002bca0
cmp byte [ebp - 0x9d], 0
je 0x1002bc62
mov eax, 0x10004
jmp 0x1002bc73
mov eax, 0x10000
mov ecx, 0x1000c
cmp byte [ebp - 0x79], 0
cmovne eax, ecx
or eax, esi
push eax
lea edx, [edi + 0x1a2c]
lea ecx, [edi + 0x19f4]
call fcn.100297a0
add esp, 4
mov byte [edi + 0x26c4], 1
mov dword [edi + 0x26c0], 0xbe99999a
jmp 0x1002c8f6
mov eax, dword [edx + 0x30]
test eax, eax
js 0x1002bd37
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002bd17
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002bd37
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002bcdc
mov eax, 1
jmp 0x1002bd13
comiss xmm2, xmm1
jae 0x1002bd11
comiss xmm4, xmm3
jae 0x1002bd11
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002bd13
xor eax, eax
test eax, eax
jle 0x1002bd37
cmp byte [ebp - 0x9d], 0
je 0x1002bd2a
mov eax, 0x10005
jmp 0x1002bc73
mov eax, 0x10001
lea ecx, [eax + 0xc]
jmp 0x1002bc6c
mov eax, dword [edx + 0x34]
test eax, eax
js 0x1002be09
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002bdb2
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002be09
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002bd77
mov eax, 1
jmp 0x1002bdae
comiss xmm2, xmm1
jae 0x1002bdac
comiss xmm4, xmm3
jae 0x1002bdac
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002bdae
xor eax, eax
test eax, eax
jle 0x1002be09
cmp byte [ebp - 0x9c], 0
je 0x1002be09
cmp byte [ebp - 0x62], 0
je 0x1002bdf9
mov edx, dword [ebp - 0xb0]
movss xmm1, dword [edx + 0x6c]
movaps xmm0, xmm1
subss xmm0, dword [edi + 0x1734]
addss xmm1, dword [edx + 0xf4]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [edx + 0x6c], xmm0
movss dword [edx + 0xf4], xmm1
jmp 0x1002c8f6
movzx eax, byte [ebp - 0x6a]
lea eax, [eax*4 + 0x10002]
jmp 0x1002bc73
mov eax, dword [edx + 0x38]
test eax, eax
js 0x1002befe
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002be84
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002befe
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002be49
mov eax, 1
jmp 0x1002be80
comiss xmm2, xmm1
jae 0x1002be7e
comiss xmm4, xmm3
jae 0x1002be7e
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002be80
xor eax, eax
test eax, eax
jle 0x1002befe
cmp byte [ebp - 0x9c], 0
je 0x1002befe
cmp byte [ebp - 0x62], 0
je 0x1002beee
mov eax, dword [edx + 0x1804]
mov ecx, dword [ebp - 0xb0]
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [eax + 0x88]
movss xmm1, dword [eax + 0x38]
movss xmm3, dword [ecx + 0x6c]
movaps xmm2, xmm3
addss xmm2, dword [edi + 0x1734]
addss xmm3, dword [ecx + 0xf4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x6c], xmm2
movss dword [ecx + 0xf4], xmm3
jmp 0x1002c8f6
movzx eax, byte [ebp - 0x6a]
lea eax, [eax*4 + 0x10003]
jmp 0x1002bc73
mov eax, dword [edx + 0x44]
test eax, eax
js 0x1002bf8f
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002bf75
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002bf8f
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002bf3a
mov eax, 1
jmp 0x1002bf71
comiss xmm2, xmm1
jae 0x1002bf6f
comiss xmm4, xmm3
jae 0x1002bf6f
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002bf71
xor eax, eax
test eax, eax
jle 0x1002bf8f
mov eax, esi
or esi, 0x10004
or eax, 0x10006
cmp byte [ebp - 0x62], 0
cmovne esi, eax
push esi
jmp 0x1002bc76
mov eax, dword [edx + 0x48]
test eax, eax
js 0x1002c020
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002c006
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002c020
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002bfcb
mov eax, 1
jmp 0x1002c002
comiss xmm2, xmm1
jae 0x1002c000
comiss xmm4, xmm3
jae 0x1002c000
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002c002
xor eax, eax
test eax, eax
jle 0x1002c020
mov eax, esi
or esi, 0x10005
or eax, 0x10007
cmp byte [ebp - 0x62], 0
cmovne esi, eax
push esi
jmp 0x1002bc76
mov eax, dword [edx + 0x50]
test eax, eax
js 0x1002c0ac
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002c097
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002c0ac
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002c05c
mov eax, 1
jmp 0x1002c093
comiss xmm2, xmm1
jae 0x1002c091
comiss xmm4, xmm3
jae 0x1002c091
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002c093
xor eax, eax
test eax, eax
jle 0x1002c0ac
cmp byte [ebp - 0x90], 0
je 0x1002c0ac
or esi, 0x10008
push esi
jmp 0x1002bc76
mov eax, dword [edx + 0x54]
test eax, eax
js 0x1002c1a1
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002c127
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002c1a1
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002c0ec
mov eax, 1
jmp 0x1002c123
comiss xmm2, xmm1
jae 0x1002c121
comiss xmm4, xmm3
jae 0x1002c121
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002c123
xor eax, eax
test eax, eax
jle 0x1002c1a1
cmp byte [ebp - 0x90], 0
je 0x1002c1a1
mov eax, dword [edi + 0x1a30]
cmp eax, dword [edi + 0x1a34]
jne 0x1002c195
cmp byte [ebp - 0x79], 0
je 0x1002c14b
push 0x3000c
jmp 0x1002c170
cmp byte [ebp - 0xd1], 0
je 0x1002c195
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0
je 0x1002c195
cmp byte [edi + 0xeb], 0
jne 0x1002c195
cmp byte [ebp - 0x62], 0
jne 0x1002c195
push 0x30004
lea edx, [edi + 0x1a2c]
lea ecx, [edi + 0x19f4]
call fcn.100297a0
mov dword [edi + 0x26c0], 0xbe99999a
add esp, 4
mov byte [edi + 0x26c4], 1
or esi, 0x10009
push esi
jmp 0x1002bc76
mov eax, dword [edx + 0x58]
test eax, eax
js 0x1002c283
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002c21c
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002c283
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002c1e1
mov eax, 1
jmp 0x1002c218
comiss xmm2, xmm1
jae 0x1002c216
comiss xmm4, xmm3
jae 0x1002c216
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002c218
xor eax, eax
test eax, eax
jle 0x1002c283
mov edx, dword [ebx + 0x10]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x9c], 0
je 0x1002c239
test al, al
je 0x1002c24f
cmp byte [ebp - 0x62], 0
jne 0x1002c255
mov byte [ebp - 0x85], 1
mov byte [ebp - 0x7b], 1
mov al, byte [ebp - 0x61]
mov ecx, dword [ebp - 0x68]
jmp 0x1002c8ff
cmp byte [ebp - 0x62], 0
jne 0x1002c239
cmp byte [ebp - 0x90], 0
je 0x1002c244
mov dword [ebp - 0x78], 0xa
sub esp, 8
lea ecx, [ebp - 0x78]
call fcn.1002a7f0
add esp, 8
test al, al
je 0x1002c8f6
push dword [ebp - 0x78]
jmp 0x1002bc76
mov ecx, dword [ebx + 0x10]
test ecx, 0x400
je 0x1002c33c
mov eax, dword [edx + 0x28]
test eax, eax
js 0x1002c33c
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002c310
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002c33c
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002c2d2
mov eax, 1
jmp 0x1002c30c
comiss xmm2, xmm1
jae 0x1002c30a
comiss xmm4, xmm3
jae 0x1002c30a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebx + 0x10]
jmp 0x1002c30c
xor eax, eax
test eax, eax
jle 0x1002c33c
cmp byte [ebp - 0x62], 0
jne 0x1002c33c
cmp byte [ebp - 0x71], 0
jne 0x1002c33c
cmp byte [edi + 0xeb], 0
jne 0x1002c33c
cmp byte [ebp - 0x90], 0
je 0x1002c33c
mov dword [ebp - 0x78], 9
mov edx, ecx
jmp 0x1002c265
mov eax, dword [edx + 0x5c]
test eax, eax
js 0x1002c3bc
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002c3af
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002c3bc
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002c374
mov eax, 1
jmp 0x1002c3ab
comiss xmm2, xmm1
jae 0x1002c3a9
comiss xmm4, xmm3
jae 0x1002c3a9
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002c3ab
xor eax, eax
test eax, eax
jle 0x1002c3bc
mov al, 1
mov byte [ebp - 0x85], al
jmp 0x1002c8f9
cmp byte [ebp - 0x72], 0
je 0x1002c60c
mov eax, dword [edx + 0x74]
test eax, eax
js 0x1002c494
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002c441
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002c494
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002c406
mov eax, 1
jmp 0x1002c43d
comiss xmm2, xmm1
jae 0x1002c43b
comiss xmm4, xmm3
jae 0x1002c43b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002c43d
xor eax, eax
test eax, eax
jle 0x1002c494
cmp byte [ebp - 0x90], 0
je 0x1002c494
cmp byte [ebp - 0xac], 0
je 0x1002c494
push 0x1000a
lea edx, [edi + 0x1a2c]
lea ecx, [edi + 0x19f4]
call fcn.100297a0
mov eax, dword [edi + 0x1a2c]
add esp, 4
mov byte [edi + 0x26c4], 1
mov dword [edi + 0x26c0], 0xbe99999a
mov dword [edi + 0x1a34], eax
mov dword [edi + 0x1a30], eax
jmp 0x1002c8f6
mov eax, dword [edx + 0x70]
test eax, eax
js 0x1002c562
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002c50f
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002c562
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002c4d4
mov eax, 1
jmp 0x1002c50b
comiss xmm2, xmm1
jae 0x1002c509
comiss xmm4, xmm3
jae 0x1002c509
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002c50b
xor eax, eax
test eax, eax
jle 0x1002c562
cmp byte [ebp - 0x90], 0
je 0x1002c562
cmp byte [ebp - 0xac], 0
je 0x1002c562
push 0x1000b
lea edx, [edi + 0x1a2c]
lea ecx, [edi + 0x19f4]
call fcn.100297a0
mov eax, dword [edi + 0x1a2c]
add esp, 4
mov byte [edi + 0x26c4], 1
mov dword [edi + 0x26c0], 0xbe99999a
mov dword [edi + 0x1a34], eax
mov dword [edi + 0x1a30], eax
jmp 0x1002c8f6
mov eax, dword [edx + 0x60]
test eax, eax
js 0x1002c60c
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002c5dd
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002c60c
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002c5a2
mov eax, 1
jmp 0x1002c5d9
comiss xmm2, xmm1
jae 0x1002c5d7
comiss xmm4, xmm3
jae 0x1002c5d7
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002c5d9
xor eax, eax
test eax, eax
jle 0x1002c60c
mov eax, dword [edi + 0x1a20]
mov dword [edi + 0x1a30], 0
mov dword [edi + 0x1a34], eax
mov dword [edi + 0x1a2c], eax
mov byte [edi + 0x1a3b], 0
mov byte [edi + 0x26c4], 1
jmp 0x1002c8f6
cmp byte [ebp - 0x69], 0
jne 0x1002c7d6
cmp byte [ebp - 0x6b], 0
jne 0x1002c7d6
cmp byte [ebp - 0x7a], 0
je 0x1002c8f6
mov eax, dword [edx + 0xb4]
test eax, eax
je 0x1002c651
push dword [edx + 0xbc]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x1002c8f6
mov edx, dword [0x1010d048]
jmp 0x1002c656
mov esi, 0x100dd0db
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x80], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002c660
sub ecx, dword [ebp - 0x80]
inc dword [edx + 0x318]
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [edx + 0xc0]
lea eax, [eax*2 + 2]
push eax
call ecx
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x8c], eax
cmp byte [esi], al
je 0x1002c706
xor edi, edi
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x98]
call fcn.1001aff0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x1002c6f1
cmp eax, 0x10000
jae 0x1002c6ec
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0x98]
sub esp, 8
call fcn.1002a7f0
add esp, 8
test al, al
je 0x1002c6ec
mov ecx, dword [ebp - 0x70]
mov ax, word [ebp - 0x98]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x1002c6a0
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x8c]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x1002c7b6
mov edx, dword [edi + 0x1a34]
lea esi, [edi + 0x1a2c]
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x1a20]
cmp ecx, edx
je 0x1002c745
cmp ecx, eax
jle 0x1002c736
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1002c73f
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1002c745
mov dword [esi], ecx
cmp dword [esi], eax
jle 0x1002c74b
mov dword [esi], eax
mov edx, esi
lea ecx, [edi + 0x19f4]
call fcn.10029710
push dword [ebp - 0x8c]
mov edx, dword [esi]
lea ecx, [edi + 0x19f4]
push dword [ebp - 0x70]
call fcn.10029310
add esp, 8
test al, al
je 0x1002c798
push dword [ebp - 0x8c]
mov edx, dword [esi]
lea ecx, [esi + 0x18]
push 0
call fcn.1002a490
mov eax, dword [ebp - 0x8c]
add esp, 8
add dword [esi], eax
mov byte [esi + 0xf], 0
jmp 0x1002c7ac
movzx eax, word [esi + 0xc8a]
test ax, ax
je 0x1002c7ac
dec eax
mov word [esi + 0xc8a], ax
mov ecx, dword [ebp - 0x70]
mov byte [edi + 0x26c4], 1
mov eax, dword [0x1010d048]
test ecx, ecx
je 0x1002c7c5
dec dword [eax + 0x318]
mov eax, dword [eax + 0xc4]
push ecx
call eax
add esp, 4
jmp 0x1002c8f6
cmp dword [edi + 0xb8], 0
je 0x1002c89d
mov esi, dword [edi + 0x1a34]
mov eax, dword [edi + 0x1a30]
cmp eax, esi
je 0x1002c7fd
mov ecx, esi
cmovge esi, eax
cmovl ecx, eax
jmp 0x1002c805
mov esi, dword [edi + 0x1a20]
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0xb4], ecx
sub eax, ecx
lea edx, [eax*4 + 1]
mov eax, dword [edi + 0x1a14]
mov dword [ebp - 0x78], edx
cmp edx, eax
jle 0x1002c854
test eax, eax
je 0x1002c839
cdq
sub eax, edx
mov edx, dword [ebp - 0x78]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x1a14]
jmp 0x1002c83e
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x1a10]
push eax
call fcn.10036130
mov edx, dword [ebp - 0x78]
mov dword [edi + 0x1a10], edx
mov ecx, dword [edi + 0x1a00]
lea eax, [ecx + esi*2]
push eax
mov eax, dword [ebp - 0xb4]
lea eax, [ecx + eax*2]
mov ecx, dword [edi + 0x1a18]
push eax
call fcn.1001b180
mov edx, dword [0x1010d048]
add esp, 8
mov eax, dword [edx + 0xb8]
test eax, eax
je 0x1002c89d
push dword [edi + 0x1a18]
push dword [edx + 0xbc]
call eax
add esp, 8
cmp byte [ebp - 0x69], 0
je 0x1002c8f6
mov eax, dword [edi + 0x1a30]
lea esi, [edi + 0x1a2c]
cmp eax, dword [edi + 0x1a34]
jne 0x1002c8d6
mov eax, dword [edi + 0x1a20]
mov dword [edi + 0x1a30], 0
mov dword [edi + 0x1a34], eax
mov dword [esi], eax
mov byte [edi + 0x1a3b], 0
mov byte [edi + 0x26c4], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1002c8f6
mov edx, esi
lea ecx, [edi + 0x19f4]
call fcn.10029710
mov byte [esi + 0xf], 0
mov al, byte [ebp - 0x61]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebx + 0x10]
cmp dword [edi + 0x1824], ecx
jne 0x1002ce52
test al, al
je 0x1002c95e
cmp byte [ebp - 0x90], 0
je 0x1002c948
mov esi, dword [ebx + 8]
cmp esi, 1
jb 0x1002c941
push esi
push dword [edi + 0x1a0c]
push dword [ebp - 0x84]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [ebp - 0x84]
add esp, 0xc
mov byte [eax + esi - 1], 0
mov byte [ebp - 0x86], 1
cmp byte [ebp - 0x7b], 0
je 0x1002ce52
mov edx, dword [ebx + 0x10]
test dl, 0x20
je 0x1002ce52
cmp byte [ebp - 0x90], 0
je 0x1002c9cb
mov esi, dword [edi + 0x19f8]
mov eax, dword [edi + 0x1a14]
shl esi, 2
cmp esi, eax
jle 0x1002c9aa
test eax, eax
je 0x1002c990
cdq
sub eax, edx
lea edx, [edi + 0x1a10]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1002c99b
mov ecx, 8
lea edx, [edi + 0x1a10]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10036130
mov dword [edi + 0x1a10], esi
mov edx, esi
mov ecx, dword [edi + 0x1a18]
push 0
push dword [edi + 0x1a00]
call fcn.1001b180
mov edx, dword [ebx + 0x10]
add esp, 8
test edx, 0x1c0
je 0x1002cde4
xor esi, esi
xorps xmm4, xmm4
test dl, 0x40
mov edx, dword [0x1010d048]
je 0x1002ca6b
mov eax, dword [edx + 0x28]
test eax, eax
js 0x1002ca6b
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002ca5c
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002ca6b
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002ca21
lea eax, [esi + 1]
jmp 0x1002ca58
comiss xmm2, xmm1
jae 0x1002ca56
comiss xmm4, xmm3
jae 0x1002ca56
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002ca58
xor eax, eax
test eax, eax
jle 0x1002ca6b
mov edx, dword [ebx + 0x10]
mov esi, 0x40
xor ecx, ecx
jmp 0x1002cb8e
test byte [ebx + 0x10], 0x80
je 0x1002cb78
mov eax, dword [edx + 0x34]
test eax, eax
js 0x1002caf8
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002cae8
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002caf8
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002caad
mov eax, 1
jmp 0x1002cae4
comiss xmm2, xmm1
jae 0x1002cae2
comiss xmm4, xmm3
jae 0x1002cae2
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002cae4
xor eax, eax
test eax, eax
jle 0x1002caf8
mov edx, dword [ebx + 0x10]
mov esi, 0x80
lea ecx, [esi - 0x7d]
jmp 0x1002cb8e
mov eax, dword [edx + 0x38]
test eax, eax
js 0x1002cb78
movss xmm1, dword [edx + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002cb6b
movss xmm2, dword [edx + 0x78]
comiss xmm1, xmm2
jbe 0x1002cb78
movss xmm3, dword [edx + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002cb30
mov eax, 1
jmp 0x1002cb67
comiss xmm2, xmm1
jae 0x1002cb65
comiss xmm4, xmm3
jae 0x1002cb65
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0xc]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002cb67
xor eax, eax
test eax, eax
jle 0x1002cb78
mov edx, dword [ebx + 0x10]
mov esi, 0x80
lea ecx, [esi - 0x7c]
jmp 0x1002cb8e
mov edx, dword [ebx + 0x10]
mov eax, 0x100
test edx, 0x100
mov ecx, 0x14
cmovne esi, eax
test esi, esi
je 0x1002cde4
xor eax, eax
mov dword [ebp - 0x60], esi
mov esi, dword [edi + 0x1a00]
mov word [ebp - 0x53], ax
mov byte [ebp - 0x51], al
mov word [ebp - 0x3f], ax
mov byte [ebp - 0x3d], al
mov dword [ebp - 0x58], eax
mov al, byte [ebp - 0x90]
xor al, 1
mov dword [ebp - 0x5c], edx
mov byte [ebp - 0x54], al
mov eax, dword [edi + 0x1a18]
mov dword [ebp - 0x4c], eax
mov eax, dword [edi + 0x1a1c]
mov dword [ebp - 0x48], eax
mov eax, dword [edi + 0x1a24]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x1a2c]
mov dword [ebp - 0x50], ecx
mov ecx, esi
mov byte [ebp - 0x40], 0
lea edx, [esi + eax*2]
call fcn.1001b2b0
mov ecx, dword [ebp - 0xa8]
mov edi, eax
mov dword [ebp - 0x3c], edi
mov ecx, dword [ecx + 0x1a30]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1001b2b0
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x1a34]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1001b2b0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x60]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x3c]
add esp, 4
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x98], eax
cmp ecx, edi
je 0x1002cc9f
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0x70], eax
test edi, edi
je 0x1002cc5f
cmp esi, edi
jae 0x1002cc8b
cmp byte [esi], 0
je 0x1002cc8b
push edi
mov edx, esi
lea ecx, [ebp - 0x80]
call fcn.1001aff0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x1002cc88
cmp eax, 0x10000
mov eax, dword [ebp - 0x70]
jae 0x1002cc57
inc eax
jmp 0x1002cc54
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0xa8]
mov dword [edi + 0x1a2c], eax
mov eax, dword [ebp - 0x98]
jmp 0x1002cca5
mov edi, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0xcc]
je 0x1002cd06
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0x70], eax
nop word [eax + eax]
test edi, edi
je 0x1002ccc8
cmp esi, edi
jae 0x1002ccf4
cmp byte [esi], 0
je 0x1002ccf4
push edi
mov edx, esi
lea ecx, [ebp - 0x80]
call fcn.1001aff0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x1002ccf1
cmp eax, 0x10000
mov eax, dword [ebp - 0x70]
jae 0x1002ccc0
inc eax
jmp 0x1002ccb7
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0xa8]
mov dword [edi + 0x1a30], eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x78]
je 0x1002cd58
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0x70], eax
test edi, edi
je 0x1002cd20
cmp esi, edi
jae 0x1002cd4c
cmp byte [esi], 0
je 0x1002cd4c
push edi
mov edx, esi
lea ecx, [ebp - 0x80]
call fcn.1001aff0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x1002cd49
cmp eax, 0x10000
mov eax, dword [ebp - 0x70]
jae 0x1002cd18
inc eax
jmp 0x1002cd15
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0xa8]
mov dword [edi + 0x1a34], eax
cmp byte [ebp - 0x40], 0
je 0x1002cde4
mov ecx, dword [edi + 0x1a00]
mov esi, ecx
mov eax, dword [edi + 0x19f8]
dec eax
mov dword [ebp - 0x78], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0xcc], eax
cmp ecx, eax
jae 0x1002cdc2
mov edi, dword [ebp - 0x98]
cmp byte [edi], 0
je 0x1002cdb9
push 0
mov edx, edi
lea ecx, [ebp - 0x80]
call fcn.1001aff0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x1002cdb9
cmp eax, 0x10000
jae 0x1002cdb1
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0xcc]
jb 0x1002cd87
mov edi, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x48]
sar esi, 1
mov dword [edi + 0x1a20], esi
mov dword [edi + 0x1a1c], eax
mov dword [edi + 0x26c0], 0xbe99999a
cmp byte [ebp - 0x90], 0
je 0x1002ce52
mov esi, dword [edi + 0x1a18]
mov eax, esi
mov ecx, dword [ebp - 0x84]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002ce20
test dl, dl
je 0x1002ce1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002ce20
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002ce00
xor eax, eax
jmp 0x1002ce25
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002ce52
mov eax, dword [ebx + 8]
cmp eax, 1
jb 0x1002ce4b
push eax
push esi
mov esi, dword [ebp - 0x84]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [ebx + 8]
add esp, 0xc
mov byte [esi + eax - 1], 0
mov byte [ebp - 0x86], 1
cmp byte [ebp - 0x85], 0
mov eax, dword [ebp - 0x68]
je 0x1002cea9
cmp dword [edi + 0x1824], eax
jne 0x1002cea9
mov edx, dword [0x1010d048]
mov ecx, dword [edx + 0x1824]
test ecx, ecx
setne al
mov byte [edx + 0x1831], al
test ecx, ecx
je 0x1002ce8b
mov dword [edx + 0x182c], 0
mov eax, dword [ebp - 0x68]
mov dword [edx + 0x1824], 0
mov byte [edx + 0x1832], 0
mov dword [edx + 0x183c], 0
mov esi, dword [edi + 0x1824]
cmp esi, eax
jne 0x1002cec8
cmp byte [ebp - 0x90], 0
je 0x1002cec8
mov eax, dword [edi + 0x1a18]
mov dword [ebp - 0x84], eax
cmp byte [ebp - 0x9c], 0
jne 0x1002cf89
push dword [ebp - 0x24]
movss xmm1, dword [0x100f8ef4]
mov ecx, 7
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.1001b3e0
movss xmm2, dword [edi + 0x1428]
mov dl, 1
mov ecx, eax
call fcn.1001fd00
movss xmm7, dword [ebp - 0x104]
add esp, 0x10
movss xmm6, dword [ebp - 0xfc]
movaps xmm0, xmm7
addss xmm0, dword [edi + 0x1420]
movss xmm4, dword [ebp - 0xbc]
movaps xmm1, xmm6
addss xmm1, dword [ebp - 0xf4]
mov esi, dword [edi + 0x1824]
movaps xmm2, xmm4
mov edx, dword [ebp - 0xb0]
addss xmm2, xmm7
movss dword [ebp - 0x110], xmm0
movaps xmm0, xmm6
addss xmm0, dword [edi + 0x1424]
movss dword [ebp - 0x30], xmm7
movss dword [ebp - 0x2c], xmm6
movss dword [ebp - 0x80], xmm2
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0x10c], xmm0
movss dword [ebp - 0x98], xmm2
movss dword [ebp - 0x118], xmm1
jmp 0x1002cffb
movss xmm0, dword [ebp - 0x104]
movss xmm1, dword [ebp - 0xfc]
movss xmm4, dword [ebp - 0xbc]
movaps xmm2, xmm1
addss xmm2, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xb0]
movaps xmm3, xmm4
addss xmm3, xmm0
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x2c], xmm1
mov eax, dword [edx + 0xd8]
movaps xmm1, xmm2
mov ecx, dword [edx + 0xdc]
movaps xmm0, xmm3
movss dword [ebp - 0x98], xmm3
movss dword [ebp - 0x80], xmm0
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x118], xmm2
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x68]
lea eax, [ebp - 0x110]
xorps xmm5, xmm5
movss xmm0, dword [eax]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xf8], xmm0
movss dword [ebp - 0xc4], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x94], eax
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x108], xmm1
movss dword [ebp - 0xb4], xmm0
movss dword [ebp - 0x78], xmm5
cmp dword [edi + 0x19f4], ecx
jne 0x1002d089
cmp byte [ebp - 0x9c], 0
je 0x1002d089
mov ecx, dword [edx + 0x1a4]
mov eax, dword [edx + 0x1ac]
xor edx, edx
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1001aed0
mov esi, dword [edi + 0x1824]
add esp, 4
cmp esi, eax
jne 0x1002d089
mov dh, 1
jmp 0x1002d08b
xor dh, dh
mov eax, dword [ebp - 0x114]
mov ecx, str.FileContent
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1002d0b6
test dl, dl
je 0x1002d0b2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1002d0b6
add eax, 2
add ecx, 2
test dl, dl
jne 0x1002d096
xor eax, eax
jmp 0x1002d0bb
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp - 0x68]
jne 0x1002d0cb
cmp esi, eax
setne byte [0x1010f37d]
cmp esi, eax
je 0x1002d2cd
test dh, dh
jne 0x1002d2cd
xor edx, edx
cmp byte [ebp - 0x9c], dl
je 0x1002d146
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov al, byte [edx]
inc edx
mov byte [ebp - 0x69], al
test al, al
je 0x1002d116
nop word [eax + eax]
cmp byte [ebp - 0x69], 0xa
lea eax, [ecx + 1]
cmovne eax, ecx
mov ecx, eax
mov al, byte [edx]
inc edx
mov byte [ebp - 0x69], al
test al, al
jne 0x1002d100
mov al, byte [edx - 1]
dec edx
cmp al, 0xa
je 0x1002d123
cmp al, 0xd
je 0x1002d123
inc ecx
movd xmm7, ecx
lea esi, [edi + 0x1734]
cvtdq2ps xmm7, xmm7
movaps xmm0, xmm4
mulss xmm7, dword [esi]
movss dword [ebp - 0xb4], xmm0
movss dword [ebp - 0x78], xmm7
jmp 0x1002d14c
lea esi, [edi + 0x1734]
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
movss xmm1, dword [0x100f8ef4]
mov eax, dword [eax + 0x234]
mov dword [ebp - 0x70], eax
call fcn.1001b3e0
movss xmm2, dword [esi]
lea esi, [ebp - 0x30]
mov ecx, dword [edi + 0x1730]
mov dword [ebp - 0xac], eax
xor eax, eax
cmp byte [ebp - 0x9c], al
mov dword [ebp - 0x108], ecx
cmovne esi, eax
test dword [ebp - 0xac], 0xff000000
lea eax, [edi + 0x1734]
mov dword [ebp - 0x8c], eax
je 0x1002de33
test edx, edx
jne 0x1002d1d4
mov ecx, dword [ebp - 0x84]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002d1b7
sub ecx, edx
lea eax, [edi + 0x1734]
mov edx, dword [ebp - 0x84]
add edx, ecx
mov ecx, dword [edi + 0x1730]
cmp dword [ebp - 0x84], edx
je 0x1002de39
test ecx, ecx
mov ecx, dword [ebp - 0x70]
jne 0x1002d1f3
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x108], eax
ucomiss xmm2, dword [0x100f8e18]
lahf
test ah, 0x44
jp 0x1002d208
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ecx + 0x3c]
shl ecx, 4
mov eax, dword [eax + 0x44]
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0xf0], xmm0
test esi, esi
je 0x1002d285
movss xmm1, dword [esi]
movss xmm0, dword [ebp - 0xf0]
comiss xmm0, xmm1
jae 0x1002d23d
movss dword [ebp - 0xf0], xmm1
movss xmm1, dword [esi + 4]
movss xmm0, dword [ebp - 0xec]
comiss xmm0, xmm1
jae 0x1002d257
movss dword [ebp - 0xec], xmm1
movss xmm0, dword [esi + 8]
comiss xmm0, dword [ebp - 0xe8]
ja 0x1002d26d
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [esi + 0xc]
comiss xmm0, dword [ebp - 0xe4]
ja 0x1002d283
movss dword [ebp - 0xe4], xmm0
test esi, esi
mov esi, dword [ebp - 0x84]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x108]
lea eax, [ebp - 0xf0]
mov dword [esp], 0
push edx
push esi
push eax
mov eax, dword [ebp - 0x94]
push dword [ebp - 0xac]
push dword [eax + 4]
push dword [eax]
push dword [ebp - 0x70]
call fcn.100432f0
lea eax, [edi + 0x1734]
jmp 0x1002de3f
mov ecx, dword [edi + 0x1a00]
or esi, 0xffffffff
mov eax, dword [edi + 0x1a2c]
movaps xmm7, xmm5
movss xmm0, dword [edi + 0xc]
addss xmm0, dword [edi + 0x26c0]
mov edx, dword [edi + 0x1a30]
lea eax, [ecx + eax*2]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x8c], eax
mov ecx, 1
mov eax, dword [edi + 0x1a34]
movss dword [edi + 0x26c0], xmm0
movss dword [ebp - 0xcc], xmm5
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x68], 0xfffffc19
cmp edx, eax
je 0x1002d34b
mov ecx, dword [ebp - 0xb8]
cmovl eax, edx
mov dword [ebp - 0x68], esi
lea eax, [ecx + eax*2]
mov ecx, 2
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x9c]
movzx eax, al
add ecx, eax
xor eax, eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xb8]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x1002d3c7
mov esi, eax
or edi, 0xffffffff
cmp si, 0xa
jne 0x1002d3a7
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp edi, 0xffffffff
jne 0x1002d391
cmp edx, dword [ebp - 0x8c]
jb 0x1002d391
dec ecx
mov edi, eax
test ecx, ecx
jle 0x1002d3b5
cmp dword [ebp - 0x68], 0xffffffff
jne 0x1002d3a7
cmp edx, dword [ebp - 0xa4]
jb 0x1002d3a7
dec ecx
mov dword [ebp - 0x68], eax
test ecx, ecx
jle 0x1002d3b5
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x1002d370
mov dword [ebp - 0xac], edi
mov edi, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xac]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0xb8]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x70], eax
mov ecx, eax
cmovne ecx, esi
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x68]
cmp ecx, 0xffffffff
cmove ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x68], ecx
mov ecx, eax
cmp eax, edx
jbe 0x1002d414
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x1002d40e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x1002d400
mov eax, dword [ebp - 0x8c]
mov edx, dword [0x1010d048]
movaps xmm1, xmm5
movaps xmm4, xmm5
mov esi, dword [edx + 0x1730]
movss xmm2, dword [edx + 0x1734]
divss xmm2, dword [esi]
cmp ecx, eax
jae 0x1002d49d
nop word [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0xac], eax
mov edx, eax
cmp eax, 0xa
jne 0x1002d45c
maxss xmm1, xmm4
movaps xmm4, xmm5
jmp 0x1002d489
cmp edx, 0xd
je 0x1002d489
movzx eax, ax
cmp eax, dword [esi + 0x1c]
jge 0x1002d47c
mov edx, dword [ebp - 0xac]
mov eax, dword [esi + 0x24]
movzx edi, dx
movss xmm0, dword [eax + edi*4]
jmp 0x1002d481
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, dword [ebp - 0x8c]
jb 0x1002d440
mov edi, dword [ebp - 0xa8]
mov edx, dword [0x1010d048]
cmp dword [ebp - 0x68], 0
lea eax, [edi + 0x1734]
movd xmm6, dword [ebp - 0xe4]
maxss xmm4, xmm1
movss xmm3, dword [eax]
cvtdq2ps xmm6, xmm6
mov dword [ebp - 0x8c], eax
movss dword [ebp - 0xac], xmm4
mulss xmm6, xmm3
movss dword [ebp - 0x128], xmm6
jl 0x1002d580
mov eax, dword [ebp - 0xa4]
mov ecx, eax
cmp eax, dword [ebp - 0xb8]
jbe 0x1002d50a
mov edi, dword [ebp - 0xb8]
cmp word [ecx - 2], 0xa
je 0x1002d4fe
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x1002d4f0
mov edi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa4]
movaps xmm1, xmm5
cmp ecx, eax
jae 0x1002d568
mov edi, dword [ebp - 0xa4]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x1002d52b
maxss xmm1, xmm7
movaps xmm7, xmm5
jmp 0x1002d558
cmp eax, 0xd
je 0x1002d558
mov dword [ebp - 0xe4], eax
cmp eax, dword [esi + 0x1c]
jge 0x1002d54b
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0xe4]
movss xmm0, dword [eax + edx*4]
jmp 0x1002d550
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, edi
jb 0x1002d517
mov edi, dword [ebp - 0xa8]
mov edx, dword [0x1010d048]
movd xmm0, dword [ebp - 0x68]
maxss xmm7, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0xcc], xmm0
mov ecx, dword [ebp - 0x9c]
movss xmm1, dword [ebp - 0xbc]
test cl, cl
je 0x1002d5ae
movd xmm0, dword [ebp - 0x70]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x78], xmm0
movaps xmm0, xmm1
movss dword [ebp - 0xb4], xmm0
cmp byte [edi + 0x26c4], 0
je 0x1002d678
test dword [ebx + 0x10], 0x1000
jne 0x1002d612
movss xmm2, dword [edi + 0x1a28]
movaps xmm0, xmm1
comiss xmm2, xmm4
mulss xmm0, dword [0x100f8e98]
movaps xmm1, xmm4
jbe 0x1002d5ec
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x1002d5fd
subss xmm1, dword [ebp - 0xbc]
comiss xmm1, xmm2
jb 0x1002d61c
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x1a28], xmm0
jmp 0x1002d61c
mov dword [edi + 0x1a28], 0
test cl, cl
je 0x1002d678
mov eax, dword [ebp - 0xb0]
movaps xmm1, xmm6
subss xmm1, xmm3
movss xmm2, dword [eax + 0x6c]
comiss xmm2, xmm1
jbe 0x1002d640
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x1002d64f
movaps xmm0, xmm6
subss xmm0, dword [ebp - 0xf4]
maxss xmm0, xmm2
subss xmm2, xmm0
movss dword [eax + 0x6c], xmm0
addss xmm2, dword [eax + 0xdc]
movss dword [ebp - 0xf8], xmm2
movss dword [eax + 0xdc], xmm2
movss dword [ebp - 0xc4], xmm2
movss xmm4, dword [edi + 0x1a28]
mov ecx, dword [edi + 0x1a34]
mov esi, dword [edi + 0x1a30]
mov byte [edi + 0x26c4], 0
movss dword [ebp - 0x70], xmm4
cmp esi, ecx
je 0x1002d956
mov eax, ecx
cmovl eax, esi
mov esi, dword [ebp - 0xb8]
lea esi, [esi + eax*2]
mov eax, dword [edi + 0x1a30]
cmp eax, ecx
cmovge ecx, eax
cmp byte [ebp - 0x9c], 0
mov eax, dword [ebp - 0xb8]
lea eax, [eax + ecx*2]
mov dword [ebp - 0xa4], eax
je 0x1002d6e3
movss dword [ebp - 0x11c], xmm5
movss dword [ebp - 0xb8], xmm5
jmp 0x1002d6f3
movss xmm0, dword [0x100f9054]
movss dword [ebp - 0xb8], xmm0
movss xmm1, dword [0x100f8ef4]
mov ecx, 0x28
call fcn.1001b3e0
movss xmm6, dword [ebp - 0xf8]
xorps xmm5, xmm5
mov ecx, dword [ebp - 0x94]
movaps xmm4, xmm6
addss xmm4, dword [ebp - 0xcc]
mov dword [ebp - 0xe4], eax
movss xmm3, dword [ecx]
mov ecx, dword [ebp - 0xa4]
addss xmm3, xmm7
subss xmm4, xmm5
subss xmm3, dword [ebp - 0x70]
movss dword [ebp - 0xcc], xmm4
cmp esi, ecx
jae 0x1002d9a0
movss xmm7, dword [ebp - 0x108]
mov eax, dword [ebp - 0x94]
nop dword [eax]
movss xmm6, dword [edi + 0x1734]
movaps xmm0, xmm7
addss xmm0, xmm6
comiss xmm4, xmm0
ja 0x1002d951
movss xmm0, dword [ebp - 0xfc]
comiss xmm0, xmm4
jbe 0x1002d7a9
cmp esi, ecx
jae 0x1002d930
nop dword [eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1002d92a
cmp esi, ecx
jb 0x1002d790
jmp 0x1002d92a
mov ecx, dword [0x1010d048]
xorps xmm1, xmm1
mov edx, dword [edx + 0x1730]
movss xmm2, dword [ecx + 0x1734]
mov ecx, dword [ebp - 0xa4]
divss xmm2, dword [edx]
cmp esi, ecx
jae 0x1002d814
nop
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x1002d80a
cmp eax, 0xd
je 0x1002d804
mov ecx, eax
cmp ecx, dword [edx + 0x1c]
jge 0x1002d7f1
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x1002d7f6
movss xmm0, dword [edx + 0x38]
mov ecx, dword [ebp - 0xa4]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, ecx
jb 0x1002d7d0
jmp 0x1002d814
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
maxss xmm1, xmm5
xorps xmm5, xmm5
comiss xmm5, xmm1
jb 0x1002d851
mov eax, dword [edi + 0x1730]
cmp dword [eax + 0x1c], 0x20
jle 0x1002d839
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x1002d83e
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x100f8eac]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x11c]
addss xmm1, xmm3
movss xmm0, dword [ebp - 0xb8]
subss xmm2, xmm6
movss xmm6, dword [ebp - 0x80]
addss xmm0, xmm4
addss xmm3, xmm5
minss xmm1, xmm6
addss xmm2, xmm4
minss xmm0, xmm7
maxss xmm3, dword [ebp - 0x104]
movss dword [ebp - 0x18], xmm1
maxss xmm2, dword [ebp - 0xfc]
comiss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0x1c], xmm2
movss dword [ebp - 0x14], xmm0
jbe 0x1002d924
comiss xmm7, xmm2
jbe 0x1002d924
comiss xmm1, dword [ebp - 0x104]
jbe 0x1002d924
comiss xmm6, xmm3
jbe 0x1002d924
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x18]
push dword [ebp - 0xe4]
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x234]
call fcn.10040030
movss xmm0, dword [ebp - 0x98]
xorps xmm5, xmm5
movss xmm4, dword [ebp - 0xcc]
movss xmm7, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xa4]
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [ebp - 0x118]
movss dword [ebp - 0x118], xmm0
mov edx, dword [0x1010d048]
mov eax, dword [ebp - 0x94]
movss xmm3, dword [eax]
addss xmm4, dword [edi + 0x1734]
subss xmm3, dword [ebp - 0x70]
movss dword [ebp - 0xcc], xmm4
cmp esi, ecx
jb 0x1002d760
movss xmm4, dword [ebp - 0x70]
movss xmm6, dword [ebp - 0xf8]
movups xmm2, xmmword [edx + 0x1480]
mov eax, dword [ebp - 0xb0]
mov esi, dword [edi + 0x1a1c]
add esi, dword [ebp - 0x84]
movaps xmm1, xmm2
comiss xmm5, xmm2
mov eax, dword [eax + 0x234]
mov dword [ebp - 0xa4], eax
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edx + 0x13ec]
movaps xmmword [ebp - 0x20], xmm2
jbe 0x1002d9a7
movaps xmm0, xmm5
jmp 0x1002d9b3
movss xmm4, dword [ebp - 0x70]
jmp 0x1002d95e
movss xmm0, dword [0x100f8ef4]
minss xmm0, xmm2
movss xmm2, dword [0x100f91c4]
movss xmm7, dword [0x100f8eac]
movss xmm3, dword [ebp - 0x1c]
comiss xmm5, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1002d9de
movaps xmm0, xmm5
jmp 0x1002d9ea
movss xmm0, dword [0x100f8ef4]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x18]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm3
jbe 0x1002da0a
movaps xmm0, xmm5
jmp 0x1002da16
movss xmm0, dword [0x100f8ef4]
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm1
jbe 0x1002da31
movaps xmm0, xmm5
jmp 0x1002da3d
movss xmm0, dword [0x100f8ef4]
minss xmm0, xmm1
mulss xmm0, xmm2
lea edx, [ebp - 0x30]
mov dword [ebp - 0xe4], 0
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp - 0x94]
cmp byte [ebp - 0x9c], 0
mov dword [ebp - 0x11c], eax
cmovne edx, dword [ebp - 0xe4]
movss xmm0, dword [ecx]
mov ecx, dword [ebp - 0x8c]
subss xmm0, xmm4
movss xmm2, dword [ecx]
mov ecx, dword [edi + 0x1730]
movss dword [ebp - 0xd0], xmm0
movaps xmm0, xmm6
mov dword [ebp - 0x80], ecx
subss xmm0, xmm5
movss dword [ebp - 0xcc], xmm0
test eax, 0xff000000
je 0x1002dbcf
test esi, esi
jne 0x1002dada
mov ecx, dword [ebp - 0x84]
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002dac0
mov eax, dword [ebp - 0x84]
sub ecx, esi
lea esi, [ecx + eax]
mov ecx, dword [edi + 0x1730]
jmp 0x1002dae0
mov eax, dword [ebp - 0x84]
cmp eax, esi
je 0x1002dbcf
test ecx, ecx
mov ecx, dword [ebp - 0xa4]
jne 0x1002dafb
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x80], eax
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x1002db0c
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ecx + 0x3c]
shl ecx, 4
mov eax, dword [eax + 0x44]
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0xf0], xmm0
test edx, edx
je 0x1002db8c
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0xf0]
comiss xmm0, xmm1
jae 0x1002db44
movss dword [ebp - 0xf0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0xec]
comiss xmm0, xmm1
jae 0x1002db5e
movss dword [ebp - 0xec], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xe8]
ja 0x1002db74
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xe4]
ja 0x1002db8a
movss dword [ebp - 0xe4], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x80]
lea eax, [ebp - 0xf0]
mov dword [esp], 0
push esi
mov esi, dword [ebp - 0x84]
push esi
push eax
push dword [ebp - 0x11c]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push dword [ebp - 0xa4]
call fcn.100432f0
xorps xmm5, xmm5
jmp 0x1002dbd5
mov esi, dword [ebp - 0x84]
cmp byte [edi + 0xad], 0
je 0x1002dc2a
movss xmm0, dword [edi + 0x26c0]
comiss xmm5, xmm0
jae 0x1002dc2a
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0xe8], xmm0
fld qword [ebp - 0xe8]
fld qword [0x100f9030]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x100f8ed0]
fstp qword [ebp - 0xe8]
movsd xmm1, qword [ebp - 0xe8]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1002dc2a
xor al, al
jmp 0x1002dc2c
mov al, 1
movss xmm2, dword [ebp - 0xf8]
xorps xmm6, xmm6
mov ecx, dword [ebp - 0x94]
movss xmm5, dword [ebp - 0xac]
movss xmm7, dword [0x100f8eac]
movss xmm4, dword [0x100f8ef4]
addss xmm2, dword [ebp - 0x128]
addss xmm5, dword [ecx]
mov ecx, dword [ebp - 0x8c]
subss xmm2, xmm6
subss xmm5, dword [ebp - 0x70]
movss dword [ebp - 0xf8], xmm2
movaps xmm0, xmm2
movss dword [ebp - 0xac], xmm5
movaps xmm1, xmm5
movss dword [ebp - 0x20], xmm5
movaps xmm3, xmm2
addss xmm1, xmm4
subss xmm0, dword [ecx]
subss xmm3, dword [0x100f8f90]
movss dword [ebp - 0x18], xmm1
addss xmm0, xmm7
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x1c], xmm0
test al, al
je 0x1002de0a
comiss xmm3, dword [ebp - 0xfc]
jbe 0x1002de0a
movss xmm4, dword [ebp - 0x118]
comiss xmm4, xmm0
jbe 0x1002de02
comiss xmm1, dword [ebp - 0x104]
jbe 0x1002de02
movss xmm0, dword [ebp - 0x98]
comiss xmm0, xmm5
jbe 0x1002de02
mov eax, dword [0x1010d048]
movups xmm2, xmmword [eax + 0x1480]
comiss xmm6, xmm2
movaps xmm1, xmm2
movaps xmmword [ebp - 0x30], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x13ec]
jbe 0x1002dd1e
xorps xmm0, xmm0
jmp 0x1002dd2a
movss xmm0, dword [0x100f8ef4]
minss xmm0, xmm2
movss xmm2, dword [0x100f91c4]
movss xmm4, dword [ebp - 0x2c]
comiss xmm6, xmm4
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1002dd4d
xorps xmm0, xmm0
jmp 0x1002dd59
movss xmm0, dword [0x100f8ef4]
minss xmm0, xmm4
movss xmm4, dword [ebp - 0x28]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm4
jbe 0x1002dd79
xorps xmm0, xmm0
jmp 0x1002dd85
movss xmm0, dword [0x100f8ef4]
minss xmm0, xmm4
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x1002dda0
xorps xmm0, xmm0
jmp 0x1002ddac
movss xmm0, dword [0x100f8ef4]
minss xmm0, xmm1
mulss xmm0, xmm2
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x110], xmm5
addss xmm0, xmm7
movss dword [ebp - 0x10c], xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x234]
call fcn.1003fe20
movss xmm5, dword [ebp - 0xac]
movss xmm2, dword [ebp - 0xf8]
movss xmm4, dword [0x100f8ef4]
cmp byte [ebp - 0x90], 0
mov eax, dword [ebp - 0x8c]
je 0x1002de3f
subss xmm2, dword [eax]
subss xmm5, xmm4
movss dword [edi + 0x2768], xmm2
movss dword [edi + 0x2764], xmm5
jmp 0x1002de3f
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x84]
cmp byte [ebp - 0x9c], 0
je 0x1002df04
mov ecx, dword [0x1010d048]
xorps xmm3, xmm3
movss xmm5, dword [ebp - 0x78]
addss xmm5, dword [eax]
movss xmm4, dword [ebp - 0xb4]
mov eax, dword [ecx + 0x1804]
addss xmm4, xmm3
mov byte [eax + 0x8e], 1
mov eax, dword [ecx + 0x1804]
cmp byte [eax + 0x90], 0
jne 0x1002dee5
movss xmm1, dword [eax + 0xdc]
lea ecx, [ebp - 0x110]
movss xmm2, dword [eax + 0xd8]
movaps xmm0, xmm1
addss xmm4, xmm2
movss dword [ebp - 0x1c], xmm1
addss xmm0, xmm5
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x18], xmm4
subss xmm4, xmm2
movss dword [ebp - 0x14], xmm0
subss xmm0, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x110], xmm4
movss dword [ebp - 0x10c], xmm0
call fcn.1001c6e0
xor edx, edx
lea ecx, [ebp - 0x20]
call fcn.1001c800
call fcn.10020bc0
mov ecx, 3
call fcn.10025870
mov ecx, dword [ebp - 0x100]
call fcn.10025820
call fcn.100347a0
mov eax, dword [ebp - 0xc0]
test al, al
je 0x1002df19
call fcn.10025760
mov eax, dword [ebp - 0xc0]
cmp byte [edi + 0x2790], 0
je 0x1002df38
test al, al
jne 0x1002df38
push 0
mov edx, esi
lea ecx, [ebp - 0xc8]
call fcn.1001f730
add esp, 4
movss xmm0, dword [ebp - 0x120]
comiss xmm0, dword [0x100f8e18]
jbe 0x1002df97
movss xmm0, dword [ebp - 0x124]
xor edx, edx
addss xmm0, dword [edi + 0x1438]
mov ecx, dword [ebp - 0x114]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0xfc]
addss xmm0, dword [edi + 0x1424]
movss dword [ebp - 0xc4], xmm0
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push 1
call fcn.1001f850
add esp, 0xc
test byte [ebx + 0x10], 0x20
movzx ecx, byte [ebp - 0x7b]
movzx eax, byte [ebp - 0x86]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100bceb5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret