Function at 0x10030a00
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, 0x168
push esi
mov esi, dword [0x1020f4d8]
mov dword [ebp - 0x104], ecx
mov ecx, esi
push edi
mov dword [ebp - 8], ecx
mov eax, dword [ecx + 0x19b0]
mov byte [eax + 0x8c], 1
mov edi, dword [ecx + 0x19b0]
mov dword [ebp - 0x64], edi
cmp byte [edi + 0x8f], 0
jne 0x10030dbb
mov ecx, dword [ebx + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [ebp - 0x30], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0x28], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x98], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x60], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x80], eax
test dl, dl
je 0x10030aab
call fcn.100142d0
mov esi, dword [0x1020f4d8]
mov ecx, dword [edi + 0xcc]
xor edx, edx
mov eax, dword [edi + 0xd4]
mov edi, dword [ebp - 0x104]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.100093e0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x19ec], eax
jne 0x10030ade
mov dword [esi + 0x19f0], eax
cmp dword [esi + 0x1a20], eax
jne 0x10030aed
mov byte [esi + 0x1a24], 1
mov ecx, edi
cmp edi, 0xffffffff
jae 0x10030b0a
mov dl, byte [ecx]
test dl, dl
je 0x10030b0a
cmp dl, 0x23
jne 0x10030b04
cmp byte [ecx + 1], dl
je 0x10030b0a
inc ecx
cmp ecx, 0xffffffff
jb 0x10030af4
movss xmm0, dword [esi + 0x18c4]
cmp edi, ecx
jne 0x10030b23
xorps xmm7, xmm7
movss dword [ebp - 0xe4], xmm7
jmp 0x10030b68
push ecx
push ecx
push edi
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [ebp - 0x70]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.100279e0
movss xmm0, dword [ebp - 0x70]
xorps xmm7, xmm7
addss xmm0, dword [0x10155bb8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x6c]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 8]
movss xmm3, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [ebp - 0x50], xmm3
movss dword [ebp - 0x44], xmm1
test dl, dl
je 0x10030b98
movss xmm0, dword [edi + 0x18c4]
mulss xmm0, dword [0x10155c80]
test byte [esi + 0x1a8c], 1
movss xmm5, dword [edi + 0x154c]
mov ecx, dword [esi + 0x19b0]
movaps xmm2, xmm5
addss xmm2, xmm5
addss xmm2, xmm0
je 0x10030bc4
movss xmm1, dword [esi + 0x1a90]
jmp 0x10030bcc
movss xmm1, dword [ecx + 0x180]
comiss xmm7, xmm1
jbe 0x10030c00
mov eax, ecx
cmp dword [eax + 0x1d0], 0
movss xmm0, dword [eax + 0x22c]
je 0x10030bec
movss xmm0, dword [eax + 0x20c]
subss xmm0, dword [ecx + 0xd8]
addss xmm1, xmm0
maxss xmm1, dword [0x10155bc0]
comiss xmm7, xmm3
cvttss2si eax, xmm1
xorps xmm0, xmm0
xorps xmm4, xmm4
movd xmm6, eax
cvtdq2ps xmm6, xmm6
ja 0x10030c1c
comiss xmm7, dword [ebp - 0x44]
jbe 0x10030c3d
cmp dword [ecx + 0x1d0], 0
movss xmm4, dword [ecx + 0x22c]
movss xmm0, dword [ecx + 0x230]
je 0x10030c3d
movss xmm4, dword [ecx + 0x20c]
movss xmm1, dword [0x10155c60]
ucomiss xmm3, xmm7
lahf
test ah, 0x44
jp 0x10030c55
movss dword [ebp - 0x50], xmm6
jmp 0x10030c80
comiss xmm7, xmm3
jbe 0x10030c7d
movaps xmm6, xmm4
subss xmm6, dword [ecx + 0xd8]
addss xmm6, xmm3
comiss xmm1, xmm6
movss dword [ebp - 0x50], xmm6
jb 0x10030c80
movaps xmm6, xmm1
movss dword [ebp - 0x50], xmm6
jmp 0x10030c80
movaps xmm6, xmm3
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, xmm7
lahf
test ah, 0x44
jp 0x10030c98
movaps xmm0, xmm2
movss dword [ebp - 0x44], xmm0
jmp 0x10030cc7
comiss xmm7, xmm3
jbe 0x10030cc4
subss xmm0, dword [ecx + 0xdc]
addss xmm3, xmm0
comiss xmm1, xmm3
movss dword [ebp - 0x44], xmm3
jb 0x10030cbd
movaps xmm0, xmm1
movss dword [ebp - 0x44], xmm0
jmp 0x10030cc7
movss xmm0, dword [ebp - 0x44]
jmp 0x10030cc7
movaps xmm0, xmm3
movss xmm1, dword [ebp - 0xe4]
comiss xmm1, xmm7
jbe 0x10030ce1
movaps xmm2, xmm1
addss xmm2, dword [edi + 0x1560]
jmp 0x10030ce4
xorps xmm2, xmm2
mov esi, dword [ebp - 0x64]
movaps xmm1, xmm6
mov dword [ebp - 0x54], esi
movss xmm4, dword [esi + 0xdc]
movss xmm3, dword [esi + 0xd8]
addss xmm0, xmm4
movss dword [ebp - 0x94], xmm3
addss xmm1, xmm3
movss dword [ebp - 0x90], xmm4
movss dword [ebp - 0xe0], xmm3
movss dword [ebp - 0xdc], xmm4
movss dword [ebp - 0x88], xmm0
movaps xmm0, xmm6
movss dword [ebp - 0x8c], xmm1
addss xmm0, xmm2
movaps xmm1, xmm4
addss xmm1, dword [ebp - 0x44]
addss xmm0, xmm3
movss dword [ebp - 0xd4], xmm1
movss dword [ebp - 0xd8], xmm0
test dl, dl
je 0x10030e41
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1000c0b0
add esp, 4
test al, al
jne 0x10030dc6
movss xmm0, dword [ebp - 0xd8]
lea ecx, [ebp - 0x70]
subss xmm0, dword [ebp - 0xe0]
movss xmm1, dword [edi + 0x154c]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0xd4]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x6c], xmm0
call fcn.1000bf80
call fcn.10014400
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movss xmm0, dword [ebp - 0x8c]
lea edx, [ebp - 0x70]
subss xmm0, dword [ebp - 0x94]
push ecx
mov ecx, dword [ebp - 0x14]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x88]
subss xmm0, dword [ebp - 0x90]
movss dword [ebp - 0x6c], xmm0
call fcn.1000ece0
add esp, 4
test al, al
jne 0x10030e18
call fcn.1000ebf0
call fcn.10014400
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [edi + 0x19b0]
movss xmm0, dword [ebp - 0x50]
mov dword [ebp - 0x54], ecx
subss xmm0, dword [ecx + 0x80]
mov eax, dword [ecx + 0x144]
or dword [ecx + 0x14c], eax
movss dword [ebp - 0x50], xmm0
jmp 0x10030e7e
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x70]
movss dword [ebp - 0x6c], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0x70], xmm0
call fcn.1000bf80
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1000c0b0
add esp, 4
test al, al
je 0x10030dbb
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x94]
call fcn.1000c350
mov byte [ebp - 0xc], al
test al, al
je 0x10030e9d
mov dword [edi + 0x1d38], 1
mov eax, dword [ebp - 0x14]
add edi, 0x1e08
mov edx, dword [esi + 0x17c]
xor ecx, ecx
cmp dword [edi], eax
mov eax, dword [esi + 0x174]
cmovne edi, ecx
mov ecx, dword [0x1020f4d8]
mov dword [ebp - 0x40], edi
lea eax, [eax + 1]
mov dword [esi + 0x174], eax
and edx, 5
jne 0x10030ed6
inc dword [esi + 0x178]
cmp dword [ecx + 0x1be4], esi
jne 0x10030f42
cmp eax, dword [ecx + 0x1bec]
je 0x10030f01
test edx, edx
jne 0x10030f2e
mov eax, dword [esi + 0x178]
cmp eax, dword [ecx + 0x1bf0]
jne 0x10030f2e
mov eax, dword [ebp - 0x14]
mov dword [ecx + 0x1af0], eax
mov ecx, dword [ebp - 8]
mov byte [ebp - 9], 1
cmp dword [ecx + 0x1be4], esi
jne 0x10030f24
mov eax, dword [ecx + 0x1bec]
cmp eax, dword [esi + 0x174]
jne 0x10030f24
mov byte [ebp - 0xb], 1
jmp 0x10030f4d
mov byte [ebp - 0xb], 0
mov byte [ebp - 0x1e], 1
jmp 0x10030f51
mov eax, dword [ebp - 0x14]
cmp dword [ecx + 0x19ec], eax
jne 0x10030f42
xor edx, edx
xor ecx, ecx
call fcn.1000bde0
mov ecx, dword [ebp - 8]
mov byte [ebp - 9], 0
mov byte [ebp - 0xb], 0
mov byte [ebp - 0x1e], 0
cmp byte [ebp - 0xc], 0
je 0x10030f64
cmp byte [ecx + 0x3d8], 0
mov byte [ebp - 1], 1
jne 0x10030f68
mov byte [ebp - 1], 0
mov esi, dword [ecx + 0x19ec]
mov eax, dword [ebp - 0x14]
cmp esi, eax
je 0x10030f94
cmp dword [ecx + 0x1aec], eax
je 0x10030f8e
cmp dword [ecx + 0x1ae0], eax
jne 0x10030f94
cmp dword [ecx + 0x1b00], 3
jne 0x10030f94
mov byte [ebp - 0xa], 1
jmp 0x10030f98
mov byte [ebp - 0xa], 0
mov eax, dword [ebp - 0x28]
test al, al
je 0x10030fdd
test edi, edi
je 0x10030fdd
test esi, esi
jne 0x10030fdd
mov eax, dword [ebp - 0x54]
xor edx, edx
mov ecx, dword [eax + 0xcc]
mov eax, dword [eax + 0xd4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100093e0
mov ecx, dword [ebp - 8]
add esp, 4
cmp dword [ecx + 0x1a20], eax
jne 0x10030fda
mov byte [ebp - 3], 1
jmp 0x10030fed
mov eax, dword [ebp - 0x28]
mov byte [ebp - 3], 0
test al, al
je 0x10031017
mov byte [ebp - 3], 0
test edi, edi
je 0x10031017
mov eax, dword [ebp - 0x54]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0xcc]
mov eax, dword [eax + 0xd4]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.100093e0
add esp, 4
cmp esi, eax
jne 0x10031017
mov al, 1
jmp 0x10031019
xor al, al
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 0xd], al
mov byte [ebp - 0x29], 0
cmp dword [esi + 0x19ec], ecx
mov cl, byte [ebp - 0xa]
je 0x10031047
mov edx, dword [ebx + 0x14]
test dl, 0x10
jne 0x1003103d
test cl, cl
je 0x10031047
cmp byte [ebp - 0x28], 0
mov byte [ebp - 0x24], 1
je 0x1003104b
mov byte [ebp - 0x24], 0
cmp byte [ebp - 9], 0
jne 0x10031070
cmp byte [ebp - 1], 0
jne 0x10031070
cmp byte [ebp - 3], 0
jne 0x10031070
test cl, cl
jne 0x10031070
mov byte [ebp - 9], cl
test al, al
jne 0x10031074
mov byte [ebp - 0x1d], al
jmp 0x1003127c
mov byte [ebp - 9], 1
mov eax, dword [ebp - 0x14]
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x40], edi
cmp dword [esi + 0x19ec], eax
je 0x1003132b
mov ecx, dword [ebx + 8]
lea edi, [esi + 0x1e08]
mov dword [ebp - 0x40], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100310a3
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x100310e0
test eax, eax
je 0x100310c9
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100310d1
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10019b60
push esi
push dword [ebx + 8]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebx + 0xc]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [ebp - 0x1c], edx
cmp edx, esi
jle 0x10031132
test esi, esi
je 0x10031117
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0x1c]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x1003111c
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.10019bd0
mov edx, dword [ebp - 0x1c]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x10031154
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18]
call fcn.10019b60
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
dec ecx
mov dword [edi + 0x18], 0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [ebp - 0x1c], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x100311bd
mov edi, eax
cmp byte [edi], 0
je 0x100311b4
push 0
mov edx, edi
lea ecx, [ebp - 0x38]
call fcn.10009720
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x100311b1
cmp eax, 0xffff
ja 0x100311a1
mov word [esi], ax
add esi, 2
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x10031177
jmp 0x100311b4
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebx + 8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x100311fa
cmp dword [edi + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 0x40], ecx
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
jmp 0x1003124f
mov dword [edi], eax
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe58], ecx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x50], ecx
mov ecx, dword [ebp - 0x28]
mov al, cl
xor al, 1
mov dword [edi + 0xe52], 0x630000
mov dword [edi + 0xe5c], 0x3e7
mov dword [edi + 0x48], 0x10000
mov byte [edi + 0x4c], al
test cl, cl
jne 0x10031252
mov ecx, dword [ebp - 0x24]
mov eax, 1
cmp byte [ebp - 0xb], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x28]
test dword [ebx + 0x14], 0x2000
je 0x1003125f
mov byte [edi + 0x48], 1
mov esi, dword [ebp - 8]
test cl, cl
jne 0x1003127c
cmp byte [ebp - 0x1e], cl
jne 0x10031278
cmp byte [ebp - 1], cl
je 0x1003127c
cmp byte [esi + 0x100], cl
je 0x1003127c
mov byte [ebp - 0x24], 1
mov eax, dword [ebp - 0x14]
cmp dword [esi + 0x19ec], eax
je 0x1003132b
cmp byte [ebp - 9], 0
je 0x10031323
mov edx, dword [ebp - 0x64]
mov ecx, eax
call fcn.1000bde0
call fcn.1000bec0
mov ecx, edx
call fcn.10013a10
mov eax, dword [esi + 0x1a00]
mov edx, dword [ebx + 0x14]
or eax, 3
cmp byte [ebp - 0x28], 0
mov dword [esi + 0x1a00], eax
jne 0x100312c7
test dl, dl
jns 0x100312d0
or eax, 0xc
mov dword [esi + 0x1a00], eax
mov eax, dword [esi + 0x1a08]
or dword [esi + 0x1a04], 2
or eax, 0x180
cmp byte [ebp - 0x28], 0
mov ecx, dword [esi + 0x1a0c]
mov dword [esi + 0x1a08], eax
mov dword [esi + 0x1a0c], ecx
je 0x10031309
or eax, 0x60
mov dword [esi + 0x1a0c], ecx
mov dword [esi + 0x1a08], eax
test edx, 0x440
je 0x10031320
or eax, 1
mov dword [esi + 0x1a0c], ecx
mov dword [esi + 0x1a08], eax
mov eax, dword [ebp - 0x14]
cmp dword [esi + 0x19ec], eax
jne 0x10031360
test edi, edi
jne 0x1003133b
xor edx, edx
xor ecx, ecx
call fcn.1000bde0
mov eax, dword [ebp - 0x14]
cmp dword [esi + 0x19ec], eax
jne 0x10031360
cmp byte [esi + 0x3d8], 0
je 0x1003136a
cmp byte [ebp - 0x1d], 0
jne 0x1003136a
cmp byte [ebp - 9], 0
jne 0x1003136a
mov byte [ebp - 0x29], 1
mov cl, 1
jmp 0x10031370
test edi, edi
je 0x1003136e
cmp byte [ebp - 0xd], 0
je 0x1003136e
mov cl, 1
jmp 0x10031370
xor cl, cl
mov byte [ebp - 9], cl
test edi, edi
je 0x1003138a
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1003138a
test cl, cl
je 0x1003138a
mov edx, 1
jmp 0x1003138c
xor dl, dl
cmp byte [ebp - 0x30], 0
mov dword [ebp - 0x84], edx
mov byte [ebp - 0x45], dl
mov byte [ebp - 0x5a], 0
mov byte [ebp - 0x1e], 0
je 0x100314a0
test edi, edi
je 0x100314a0
test cl, cl
jne 0x100313bb
test dl, dl
je 0x100314a8
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x10]
lea esi, [ecx + 1]
cmp esi, eax
jle 0x100313f5
test eax, eax
je 0x100313db
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100313e3
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10019bd0
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov dword [edi + 0xc], esi
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [ebp - 0x1c], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x10031455
mov edi, eax
nop dword [eax]
cmp byte [edi], 0
je 0x1003144c
push 0
mov edx, edi
lea ecx, [ebp - 0x38]
call fcn.10009720
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x10031449
cmp eax, 0xffff
ja 0x1003143a
mov word [esi], ax
add esi, 2
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebx + 0xc]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x10031410
jmp 0x1003144c
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebx + 8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [edi + 0x3c], esi
mov ecx, esi
mov dword [edi + 4], esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 8], eax
cmovl esi, dword [edi + 0x44]
xor edx, edx
movzx eax, byte [ebp - 0x45]
cmp ecx, esi
mov dword [edi + 0x40], ecx
mov cl, byte [ebp - 9]
cmovne edx, eax
mov dword [edi + 0x44], esi
mov esi, dword [ebp - 8]
mov dword [ebp - 0x84], edx
test cl, cl
jne 0x100314b3
test dl, dl
jne 0x100314b3
mov eax, dword [ebp - 0x14]
cmp dword [esi + 0x19ec], eax
jne 0x100314c7
cmp byte [ebp - 0x30], 0
jne 0x100314c7
test edi, edi
je 0x100314c7
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x45], 1
jne 0x100314cb
mov byte [ebp - 0x45], 0
cmp byte [ebp - 0x98], 0
je 0x100315e2
mov edx, dword [esi + 0x18c0]
cmp dword [edx + 0x14], 0x2a
jg 0x100314e9
mov esi, dword [edx + 0x2c]
jmp 0x10031508
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x100314ff
mov esi, dword [edx + 0x2c]
jmp 0x10031508
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 8]
add edi, 0x2c7c
mov dword [ebp - 0x38], edi
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18c0]
mov eax, dword [eax + 0x48]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0x18c0]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edi + 0x30], ecx
mov ecx, edi
mov dword [edi + 0x34], eax
mov eax, dword [edx + 0x18c0]
mov eax, dword [eax + 0x4c]
mov dword [edi + 0x4c], eax
mov eax, dword [edx + 0x18c0]
mov eax, dword [eax + 0x50]
mov dword [edi + 0x50], eax
mov eax, dword [edx + 0x18c0]
mov eax, dword [eax + 0x38]
mov dword [edi + 0x2c], esi
mov dword [edi + 0x38], eax
mov eax, dword [esi + 4]
mov esi, dword [0x1020f4d8]
mov dword [edi + 0xc], eax
call fcn.10013c30
lea eax, [ebp - 0x38]
push eax
lea ecx, [esi + 0x1ab4]
call fcn.10019930
mov eax, dword [esi + 0x19b0]
mov ecx, dword [eax + 0x284]
mov eax, dword [edi + 0x38]
lea esi, [ecx + 0x4c]
mov edi, dword [esi + 4]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [esi]
mov eax, dword [eax + 8]
mov dword [ebp - 0x38], eax
cmp ecx, edi
jne 0x100315ca
inc ecx
test edi, edi
je 0x100315b8
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100315bd
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100198b0
mov edx, dword [esi]
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x38]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0x3c]
inc dword [esi]
call fcn.10022100
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x78], 0
cmp dword [esi + 0x19ec], ecx
jne 0x100319d3
mov eax, dword [edi + 8]
mov edx, dword [ebx + 0x14]
mov dword [edi + 0xe68], edx
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
mov dword [ebp - 0x78], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x34], eax
cmp byte [esi + 0xf0], 0
mov dword [esi + 0x2f84], 1
sete al
cmp byte [ebp - 0x28], 0
mov byte [esi + 0x19f9], al
movss xmm6, dword [esi + 0xe8]
subss xmm6, dword [ebp - 0x94]
subss xmm6, dword [esi + 0x1548]
addss xmm6, dword [edi + 0x38]
je 0x1003167e
mov eax, dword [ebp - 0x54]
movss xmm2, dword [esi + 0xec]
subss xmm2, dword [eax + 0xdc]
subss xmm2, dword [esi + 0x154c]
jmp 0x1003168e
movss xmm2, dword [esi + 0x18c4]
mulss xmm2, dword [0x10155b64]
cmp byte [ebp - 0x24], 0
mov al, byte [esi + 0xb1]
mov byte [ebp - 3], al
jne 0x1003180d
mov cl, byte [ebp - 0xc]
test cl, cl
je 0x100316b8
test al, al
jne 0x10031723
cmp byte [esi + 0x3e2], al
jne 0x1003180d
cmp byte [esi + 0x3d8], 0
je 0x1003177a
cmp byte [edi + 0xe65], 0
jne 0x1003177a
test cl, cl
je 0x1003182b
cmp byte [edi + 0x4c], 0
je 0x100316fa
push 0
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.1002b140
movss xmm2, dword [ebp - 0xb4]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.1002b460
mov edx, dword [ebx + 0x14]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x4b], 0
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x10031828
cmp byte [esi + 0x3e2], 0
je 0x100316b8
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b840
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.1002b840
mov edx, dword [ebx + 0x14]
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x10031828
cmp byte [esi + 0xf0], 0
je 0x1003182b
cmp byte [edi + 0xe65], 0
jne 0x10031834
movss xmm0, dword [esi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100317b9
movss xmm0, dword [esi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1003182b
cmp byte [edi + 0x4c], 0
je 0x100317d9
push 0
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.1002b140
movss xmm2, dword [ebp - 0xb4]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100317e7
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.1002b460
mov edx, dword [ebx + 0x14]
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
jmp 0x10031828
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe65], 1
mov al, byte [ebp - 3]
cmp byte [edi + 0xe65], 0
je 0x10031844
cmp byte [esi + 0xf0], 0
jne 0x10031844
mov byte [edi + 0xe65], 0
cmp byte [esi + 0x100], 0
je 0x10031856
cmp byte [esi + 0x102], 0
je 0x10031863
test al, al
je 0x10031869
cmp byte [esi + 0x103], 0
je 0x10031869
mov byte [ebp - 1], 1
jmp 0x1003186d
mov byte [ebp - 1], 0
test edx, 0x400
je 0x10031a37
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x10031a37
call fcn.1000e920
mov ecx, dword [ebp - 0x30]
test al, al
mov al, byte [ebp - 1]
je 0x10031913
test al, al
jne 0x10031913
cmp byte [esi + 0x101], al
jne 0x10031913
test cl, cl
jne 0x10031913
mov ecx, dword [esi + 0x1508]
mov eax, dword [esi + 0x1500]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x100318d0
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x1003190d
cmp ecx, edx
jb 0x100318c0
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x1c]
sub esp, 8
mov dword [ebp - 0x1c], 9
call fcn.10030870
add esp, 8
test al, al
je 0x1003190d
push dword [ebp - 0x1c]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b840
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, dword [ebp - 0x30]
mov al, byte [ebp - 1]
mov edx, dword [ebx + 0x14]
cmp dword [esi + 0x1500], 0
jle 0x100319d3
test al, al
jne 0x100319a0
test cl, cl
jne 0x100319a0
cmp byte [ebp - 0xa], cl
jne 0x100319a0
mov ecx, dword [ebp - 8]
xor esi, esi
nop word [eax + eax]
mov eax, dword [ecx + 0x1508]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x1c], eax
cmp eax, 9
jne 0x1003195b
cmp byte [ecx + 0x101], 0
jne 0x10031991
sub esp, 8
lea ecx, [ebp - 0x1c]
call fcn.10030870
add esp, 8
test al, al
je 0x1003198e
push dword [ebp - 0x1c]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b840
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, dword [ebp - 8]
mov edx, dword [ebx + 0x14]
inc esi
cmp esi, dword [ecx + 0x1500]
jl 0x10031940
mov esi, dword [ebp - 8]
mov ecx, dword [esi + 0x1504]
test ecx, ecx
jns 0x100319c6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x1500]
call fcn.10019bd0
mov dword [esi + 0x1500], 0
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
xor cl, cl
mov byte [ebp - 2], cl
cmp dword [esi + 0x19ec], eax
jne 0x10032902
cmp byte [esi + 0x19f8], cl
jne 0x100323c7
cmp byte [ebp - 0x29], cl
jne 0x100323c7
mov cl, byte [esi + 0x101]
mov eax, 0x400000
xor esi, esi
test cl, cl
cmovne esi, eax
mov eax, dword [ebp - 8]
mov dl, byte [eax + 0xb1]
mov byte [ebp - 0x5b], dl
test dl, dl
je 0x10031a4d
cmp byte [eax + 0x103], 0
je 0x10031a42
cmp byte [eax + 0x100], 0
jne 0x10031a42
mov eax, 1
jmp 0x10031a44
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0x30]
jmp 0x10031916
xor eax, eax
test eax, eax
je 0x10031a70
mov eax, dword [ebp - 8]
jmp 0x10031a5f
cmp byte [eax + 0x100], 0
je 0x10031a70
cmp byte [eax + 0x103], 0
jne 0x10031a70
cmp byte [eax + 0x102], 0
jne 0x10031a70
test cl, cl
jne 0x10031a70
mov ah, 1
jmp 0x10031a72
xor ah, ah
mov byte [ebp - 3], ah
test dl, dl
je 0x10031aa7
mov edi, dword [ebp - 8]
cmp byte [edi + 0x103], 0
mov edi, dword [ebp - 0x40]
je 0x10031aa7
test cl, cl
mov ecx, dword [ebp - 8]
je 0x10031aaa
cmp byte [ecx + 0x100], 0
jne 0x10031aaa
cmp byte [ecx + 0x102], 0
jne 0x10031aaa
mov byte [ebp - 0xd], 1
jmp 0x10031ab2
mov ecx, dword [ebp - 8]
mov byte [ebp - 0xd], 0
test dl, dl
je 0x10031b16
cmp byte [ecx + 0x103], 0
mov dl, byte [ecx + 0x102]
mov byte [ebp - 0xb], dl
je 0x10031b20
cmp byte [ecx + 0x100], 0
jne 0x10031b20
test dl, dl
jne 0x10031b20
mov cl, byte [ecx + 0x100]
mov byte [ebp - 1], 1
mov edx, dword [ebp - 8]
cmp byte [edx + 0x101], 0
mov byte [ebp - 0xa], 0
je 0x10031b75
mov byte [ebp - 0xa], 0
test cl, cl
jne 0x10031b75
mov byte [ebp - 0xa], cl
cmp byte [edx + 0x102], cl
jne 0x10031b75
mov byte [ebp - 0xa], cl
cmp byte [edx + 0x103], cl
jne 0x10031b75
mov byte [ebp - 0xc], 1
mov byte [ebp - 0xa], cl
jmp 0x10031b79
mov dl, byte [ecx + 0x100]
mov byte [ebp - 0xd], 0
mov cl, byte [ecx + 0x100]
mov al, dl
mov byte [ebp - 0xb], al
mov byte [ebp - 1], 0
test cl, cl
je 0x10031adb
mov edx, dword [ebp - 8]
mov byte [ebp - 0xb], al
mov byte [ebp - 1], 0
cmp byte [edx + 0x101], 0
jne 0x10031ade
cmp byte [edx + 0x102], 0
mov byte [ebp - 0xb], al
mov byte [ebp - 1], 0
jne 0x10031ade
cmp byte [edx + 0x103], 0
mov byte [ebp - 0xb], al
mov byte [ebp - 1], 0
jne 0x10031ade
mov byte [ebp - 0xa], 1
mov byte [ebp - 0xb], al
mov byte [ebp - 1], 0
mov byte [ebp - 0xc], 0
test ah, ah
je 0x10031b95
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x10031b95
call fcn.1000e920
test al, al
jne 0x10031bb0
cmp byte [ebp - 0xc], 0
je 0x10031bd3
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x10031bd3
call fcn.1000e920
test al, al
je 0x10031bd3
cmp byte [ebp - 0x30], 0
jne 0x10031bd3
cmp byte [ebp - 0x98], 0
jne 0x10031bd3
cmp byte [ebp - 0x28], 0
je 0x10031bcd
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10031bd3
mov byte [ebp - 0x1d], 1
jmp 0x10031bd7
mov byte [ebp - 0x1d], 0
cmp byte [ebp - 3], 0
je 0x10031bf2
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x10031bf2
call fcn.1000e920
test al, al
jne 0x10031c0d
cmp byte [ebp - 0xa], 0
je 0x10031c2a
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x10031c2a
call fcn.1000e920
test al, al
je 0x10031c2a
cmp byte [ebp - 0x98], 0
jne 0x10031c2a
cmp byte [ebp - 0x28], 0
je 0x10031c24
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10031c2a
mov byte [ebp - 0xa], 1
jmp 0x10031c2e
mov byte [ebp - 0xa], 0
cmp byte [ebp - 3], 0
je 0x10031c49
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x10031c49
call fcn.1000e920
test al, al
jne 0x10031c64
cmp byte [ebp - 0xc], 0
je 0x10031c6e
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x10031c6e
call fcn.1000e920
test al, al
je 0x10031c6e
cmp byte [ebp - 0x30], 0
mov byte [ebp - 0x59], 1
je 0x10031c72
mov byte [ebp - 0x59], 0
mov dl, byte [ebp - 3]
test dl, dl
je 0x10031ca6
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x10031ca6
call fcn.1000e920
test al, al
je 0x10031ca3
cmp byte [ebp - 0x30], 0
jne 0x10031ca3
cmp byte [ebp - 0x60], 0
je 0x10031ca3
mov byte [ebp - 0xc], 1
jmp 0x10031cae
mov dl, byte [ebp - 3]
mov byte [ebp - 0xc], 0
test dl, dl
je 0x10031cc6
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x10031cc6
call fcn.1000e920
test al, al
jne 0x10031ce4
cmp byte [ebp - 0xd], 0
je 0x10031cf4
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x10031cf4
call fcn.1000e920
test al, al
je 0x10031cf4
cmp byte [ebp - 0x30], 0
jne 0x10031cf4
cmp byte [ebp - 0x60], 0
mov byte [ebp - 0xd], 1
jne 0x10031cf8
mov byte [ebp - 0xd], 0
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x10031d4d
call fcn.1000e920
test al, al
je 0x10031d4d
cmp byte [ebp - 1], 0
je 0x10031d2a
mov eax, 0x200004
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.1002b840
jmp 0x10032390
cmp byte [ebp - 0xb], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.1002b840
jmp 0x10032390
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x10031da2
call fcn.1000e920
test al, al
je 0x10031da2
cmp byte [ebp - 1], 0
je 0x10031d7f
mov eax, 0x200005
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.1002b840
jmp 0x10032390
cmp byte [ebp - 0xb], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.1002b840
jmp 0x10032390
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10031e10
call fcn.1000e920
test al, al
je 0x10031e10
cmp byte [ebp - 0x28], 0
je 0x10031e10
mov eax, dword [ebp - 8]
cmp byte [eax + 0x100], 0
je 0x10031df3
mov edx, dword [ebp - 0x54]
mov esi, eax
xorps xmm2, xmm2
movss xmm0, dword [edx + 0x54]
subss xmm0, dword [esi + 0x18c4]
mov dword [edx + 0x7c], 0
maxss xmm0, xmm2
movss dword [edx + 0x74], xmm0
jmp 0x100323a7
movzx eax, byte [ebp - 1]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.1002b840
jmp 0x10032390
mov ecx, dword [0x1020f4d8]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x10031e88
call fcn.1000e920
test al, al
je 0x10031e88
cmp byte [ebp - 0x28], 0
je 0x10031e88
mov eax, dword [ebp - 8]
cmp byte [eax + 0x100], 0
je 0x10031e6b
mov ecx, dword [ebp - 0x54]
mov esi, eax
mov eax, dword [0x1020f4d8]
movss xmm0, dword [esi + 0x18c4]
mov eax, dword [eax + 0x19b0]
addss xmm0, dword [ecx + 0x54]
minss xmm0, dword [eax + 0x5c]
mov dword [ecx + 0x7c], 0
movss dword [ecx + 0x74], xmm0
jmp 0x100323a7
movzx eax, byte [ebp - 1]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.1002b840
jmp 0x10032390
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x10031ec7
call fcn.1000e920
test al, al
je 0x10031ec7
mov ecx, dword [ebp - 8]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x200004
or eax, 0x200006
cmp byte [ecx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.1002b840
jmp 0x10032390
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x10031f06
call fcn.1000e920
test al, al
je 0x10031f06
mov ecx, dword [ebp - 8]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x200005
or eax, 0x200007
cmp byte [ecx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.1002b840
jmp 0x10032390
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x10031f37
call fcn.1000e920
test al, al
je 0x10031f37
cmp byte [ebp - 0x30], 0
jne 0x10031f37
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.1002b840
jmp 0x10032390
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x10031fc8
call fcn.1000e920
test al, al
je 0x10031fc8
cmp byte [ebp - 0x30], 0
jne 0x10031fc8
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10031fb2
cmp byte [ebp - 0xb], 0
je 0x10031f6b
push 0x60000c
jmp 0x10031f94
cmp byte [ebp - 0x5b], 0
je 0x10031fb2
mov eax, dword [ebp - 8]
cmp byte [eax + 0x103], 0
je 0x10031fb2
cmp byte [eax + 0x102], 0
jne 0x10031fb2
cmp byte [eax + 0x100], 0
jne 0x10031fb2
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b840
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
or esi, 0x200009
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.1002b840
jmp 0x10032390
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x10031fdd
call fcn.1000e920
test al, al
jne 0x10031ff6
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x10032075
call fcn.1000e920
test al, al
je 0x10032075
mov edx, dword [ebx + 0x14]
mov eax, edx
mov esi, dword [ebp - 8]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x28], 0
je 0x10032017
mov cl, byte [esi + 0x100]
test al, al
je 0x10032024
test cl, cl
jne 0x10032028
mov byte [ebp - 0x29], 1
mov byte [ebp - 0x1e], 1
jmp 0x100323a7
test cl, cl
jne 0x10032017
cmp byte [ebp - 0x30], 0
jne 0x100323a7
sub esp, 8
mov dword [ebp - 0x1c], 0xa
lea ecx, [ebp - 0x1c]
call fcn.10030870
add esp, 8
test al, al
je 0x100323a7
push dword [ebp - 0x1c]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b840
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x100323a7
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x10032097
call fcn.1000e920
test al, al
je 0x10032097
mov esi, dword [ebp - 8]
mov cl, 1
mov byte [ebp - 0x29], cl
jmp 0x100323aa
mov al, byte [ebp - 0xc]
test al, al
jne 0x10032371
cmp byte [ebp - 0xd], al
jne 0x10032371
cmp byte [ebp - 3], al
je 0x100320de
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x100320de
call fcn.1000e920
test al, al
je 0x100320de
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x1003239d
mov al, byte [ebp - 0x1d]
test al, al
jne 0x10032275
cmp byte [ebp - 0xa], al
jne 0x10032275
cmp byte [ebp - 0x59], al
je 0x100323a4
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x10032120
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x10032125
jmp 0x100323a4
mov esi, 0x1014f3ee
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10032130
mov eax, dword [0x1020f4d8]
sub ecx, edx
test eax, eax
je 0x10032148
inc dword [eax + 0x374]
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x24], eax
cmp byte [esi], al
je 0x100321b9
xor edi, edi
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.10009720
add esp, 4
add esi, eax
cmp dword [ebp - 0x34], 0
je 0x100321ad
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x34]
sub esp, 8
call fcn.10030870
add esp, 8
test al, al
je 0x100321a8
mov ecx, dword [ebp - 0x18]
mov ax, word [ebp - 0x34]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10032170
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x10032253
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x100321ed
cmp ecx, eax
jle 0x100321dd
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x100321e6
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x100321ed
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x100321f5
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b7b0
push dword [ebp - 0x24]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [ebp - 0x18]
call fcn.1002b310
add esp, 8
test al, al
je 0x10032235
push dword [ebp - 0x24]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x54]
push 0
call fcn.1002c670
mov eax, dword [ebp - 0x24]
add esp, 8
add dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x10032249
movzx eax, word [edi + 0xe52]
test ax, ax
je 0x10032249
dec eax
mov word [edi + 0xe52], ax
mov ecx, dword [ebp - 0x18]
mov byte [edi + 0xe64], 1
test ecx, ecx
je 0x10032266
mov eax, dword [0x1020f4d8]
test eax, eax
je 0x10032266
dec dword [eax + 0x374]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x100323a4
mov esi, dword [ebp - 8]
cmp dword [esi + 0xd4], 0
je 0x10032332
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x10032299
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x1003229e
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x64], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.100099e0
lea ecx, [eax + 1]
mov eax, dword [0x1020f4d8]
mov dword [ebp - 0x38], ecx
test eax, eax
je 0x100322c7
inc dword [eax + 0x374]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x64]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.100098b0
mov eax, dword [0x1020f4d8]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x10032314
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x1020f4d8]
add esp, 8
test esi, esi
je 0x10032322
test eax, eax
je 0x10032322
dec dword [eax + 0x374]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov al, byte [ebp - 0x1d]
add esp, 4
mov esi, dword [ebp - 8]
test al, al
je 0x100323a7
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10032352
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe64], 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100323a4
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1002b7b0
mov byte [edi + 0x4b], 0
jmp 0x100323a4
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.1002b840
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
mov esi, dword [ebp - 8]
mov cl, byte [ebp - 2]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100323bc
cmp byte [ebp - 9], 0
je 0x100323bc
mov al, 1
jmp 0x100323be
xor al, al
or byte [ebp - 0x84], al
mov eax, dword [ebp - 0x14]
cmp dword [esi + 0x19ec], eax
jne 0x10032902
xor eax, eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x24], eax
test cl, cl
je 0x100324e0
cmp byte [ebp - 0x30], al
jne 0x10032427
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebx + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10032414
test dl, dl
je 0x10032410
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10032414
add eax, 2
add ecx, 2
test dl, dl
jne 0x100323f4
xor eax, eax
jmp 0x10032419
sbb eax, eax
or eax, 1
test eax, eax
je 0x10032427
mov eax, dword [edi + 0x24]
dec eax
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x24], eax
cmp byte [ebp - 0x1e], 0
mov edx, dword [ebx + 0x14]
je 0x10032439
test dl, 0x20
jne 0x100324e3
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x24]
test esi, esi
je 0x100328e1
cmp dword [ebp - 0x78], ecx
je 0x100328ac
cmp byte [ebp - 0x80], 0
je 0x100328ac
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x154], eax
lea eax, [ecx + 1]
cmp dword [ebx + 0xc], eax
movlpd qword [ebp - 0x15c], xmm0
cmovge eax, dword [ebx + 0xc]
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x168]
push eax
xor eax, eax
movlpd qword [ebp - 0x148], xmm0
movlpd qword [ebp - 0x140], xmm0
mov dword [ebp - 0x168], 0x40000
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x160], 0
call eax
mov edx, dword [ebp - 0x14c]
add esp, 4
mov eax, dword [ebp - 0x154]
mov dword [ebx + 8], eax
lea ecx, [edx - 1]
cmp dword [ebp - 0x150], ecx
cmovl ecx, dword [ebp - 0x150]
jmp 0x100328af
mov edx, dword [ebx + 0x14]
cmp byte [ebp - 0x30], 0
jne 0x10032545
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
cmp esi, eax
jle 0x1003252e
test eax, eax
je 0x10032514
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1003251c
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10019b60
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100098b0
mov edx, dword [ebx + 0x14]
add esp, 8
test edx, 0x1c0
je 0x1003285f
xor esi, esi
test dl, 0x40
je 0x10032579
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x10032579
call fcn.1000e920
mov edx, dword [ebx + 0x14]
test al, al
je 0x10032579
mov esi, 0x40
xor eax, eax
jmp 0x100325d4
test dl, dl
jns 0x100325c1
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x1003259f
call fcn.1000e920
mov edx, dword [ebx + 0x14]
test al, al
je 0x1003259f
mov esi, 0x80
lea eax, [esi - 0x7d]
jmp 0x100325d4
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100325c1
call fcn.1000e920
mov edx, dword [ebx + 0x14]
test al, al
je 0x100325c1
mov esi, 0x80
lea eax, [esi - 0x7c]
jmp 0x100325d4
test edx, 0x100
mov eax, 0x100
cmovne esi, eax
mov eax, 0x16
test esi, esi
je 0x1003285f
mov dword [ebp - 0x128], eax
xor ecx, ecx
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x124], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x120], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x138], esi
mov esi, dword [edi + 0x14]
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0x3c]
mov word [ebp - 0x117], cx
mov byte [ebp - 0x115], cl
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x130], ecx
lea edx, [esi + eax*2]
mov byte [ebp - 0x118], cl
mov ecx, esi
mov dword [ebp - 0x12c], 0
call fcn.100099e0
mov edx, dword [ebp - 0x40]
mov edi, eax
mov ecx, esi
mov dword [ebp - 0x114], edi
mov edx, dword [edx + 0x40]
lea edx, [esi + edx*2]
call fcn.100099e0
mov dword [ebp - 0x3c], eax
mov ecx, esi
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.100099e0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x138]
push eax
xor eax, eax
call eax
mov edx, dword [ebp - 0x114]
add esp, 4
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x58], ecx
cmp edx, edi
je 0x100326e9
lea edi, [edx + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x18], eax
test edi, edi
je 0x100326ab
cmp esi, edi
jae 0x100326d7
cmp byte [esi], 0
je 0x100326d7
push edi
mov edx, esi
lea ecx, [ebp - 0x38]
call fcn.10009720
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x100326d4
cmp eax, 0xffff
mov eax, dword [ebp - 0x18]
ja 0x100326a3
inc eax
jmp 0x100326a0
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x58]
mov dword [esi + 0x3c], eax
mov byte [esi + 0xe64], 1
jmp 0x100326ec
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x3c]
je 0x1003273e
lea esi, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x18], eax
test esi, esi
je 0x10032709
cmp edi, esi
jae 0x10032735
cmp byte [edi], 0
je 0x10032735
push esi
mov edx, edi
lea ecx, [ebp - 0x38]
call fcn.10009720
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x10032732
cmp eax, 0xffff
mov eax, dword [ebp - 0x18]
ja 0x10032701
inc eax
jmp 0x100326fe
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x58]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x1c]
je 0x1003278d
lea esi, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x18], eax
test esi, esi
je 0x1003275b
cmp edi, esi
jae 0x10032787
cmp byte [edi], 0
je 0x10032787
push esi
mov edx, edi
lea ecx, [ebp - 0x38]
call fcn.10009720
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x10032784
cmp eax, 0xffff
mov eax, dword [ebp - 0x18]
ja 0x10032753
inc eax
jmp 0x10032750
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x40]
mov dword [esi + 0x44], eax
cmp byte [ebp - 0x118], 0
je 0x1003285c
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x78]
cmp edi, ecx
jle 0x100327ef
cmp byte [ebp - 0x80], 0
je 0x100327ef
mov eax, dword [esi + 0x10]
sub edi, ecx
add edi, dword [esi + 0xc]
cmp edi, eax
jle 0x100327ec
test eax, eax
je 0x100327cc
cdq
sub eax, edx
lea edx, [esi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100327d4
mov ecx, 8
lea edx, [esi + 0xc]
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10019bd0
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x58], eax
mov dword [esi + 0xc], edi
mov ecx, dword [esi + 0x14]
mov edi, ecx
mov eax, dword [esi + 0xc]
dec eax
mov dword [ebp - 0x1c], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x3c], eax
cmp ecx, eax
jae 0x1003283d
mov esi, dword [ebp - 0x58]
cmp byte [esi], 0
je 0x10032837
push 0
mov edx, esi
lea ecx, [ebp - 0x38]
call fcn.10009720
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x10032837
cmp eax, 0xffff
ja 0x10032832
mov word [edi], ax
add edi, 2
cmp edi, dword [ebp - 0x3c]
jb 0x10032808
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x1c]
xor eax, eax
mov word [edi], ax
sub edi, ecx
mov eax, dword [ebp - 0x120]
sar edi, 1
mov dword [esi + 4], edi
mov dword [esi + 8], eax
mov dword [esi + 0xe60], 0xbe99999a
mov edx, dword [ebx + 0x14]
cmp byte [ebp - 0x30], 0
mov edi, dword [ebp - 0x40]
jne 0x10032439
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebx + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10032894
test dl, dl
je 0x10032890
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10032894
add eax, 2
add ecx, 2
test dl, dl
jne 0x10032874
xor eax, eax
jmp 0x10032899
sbb eax, eax
or eax, 1
mov edx, dword [ebx + 0x14]
test eax, eax
je 0x10032439
mov ecx, dword [edi + 8]
jmp 0x1003243f
mov edx, dword [ebx + 0xc]
lea eax, [ecx + 1]
cmp eax, edx
cmovl edx, eax
mov dword [ebx + 0xc], edx
cmp edx, 1
jb 0x100328dd
jbe 0x100328d5
lea eax, [edx - 1]
push eax
push esi
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov edx, dword [ebx + 0xc]
add esp, 0xc
mov eax, dword [ebx + 8]
mov byte [edx + eax - 1], 0
mov byte [ebp - 0x5a], 1
mov esi, dword [ebp - 8]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [ebp - 0x29], 0
mov ecx, dword [ebp - 0x14]
je 0x1003291f
cmp dword [esi + 0x19ec], ecx
jne 0x1003291f
xor edx, edx
xor ecx, ecx
call fcn.1000bde0
mov ecx, dword [ebp - 0x14]
cmp byte [ebp - 0x28], 0
jne 0x10032a9c
mov edx, ecx
lea ecx, [ebp - 0x94]
push 1
call fcn.1000b080
mov eax, dword [0x1020f4d8]
xorps xmm3, xmm3
movss xmm5, dword [0x10155bc0]
add esp, 4
movups xmm0, xmmword [eax + 0x1630]
comiss xmm3, xmm0
movaps xmm1, xmm0
movaps xmmword [ebp - 0xc0], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x10032972
xorps xmm0, xmm0
jmp 0x10032976
minss xmm0, xmm5
movss xmm2, dword [0x10155e08]
movss xmm4, dword [0x10155b64]
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si edx, xmm0
movss xmm0, dword [ebp - 0xbc]
shl edx, 0x10
comiss xmm3, xmm0
jbe 0x100329a7
xorps xmm0, xmm0
jmp 0x100329ab
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xb8]
shl eax, 8
or edx, eax
comiss xmm3, xmm0
jbe 0x100329ce
xorps xmm0, xmm0
jmp 0x100329d2
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
or edx, eax
comiss xmm3, xmm1
jbe 0x100329ea
xorps xmm1, xmm1
jmp 0x100329ee
minss xmm1, xmm5
push dword [ebp - 0x88]
mulss xmm1, xmm2
push dword [ebp - 0x8c]
movss xmm2, dword [esi + 0x1550]
push dword [ebp - 0x90]
addss xmm1, xmm4
push dword [ebp - 0x94]
cvttss2si ecx, xmm1
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.1000a8a0
movss xmm6, dword [ebp - 0x94]
add esp, 0x10
movss xmm4, dword [ebp - 0x90]
movaps xmm0, xmm6
addss xmm0, dword [esi + 0x1548]
movss xmm3, dword [ebp - 0x50]
movaps xmm1, xmm4
addss xmm1, dword [ebp - 0x44]
movaps xmm2, xmm3
movss dword [ebp - 0x100], xmm6
addss xmm2, xmm6
movss dword [ebp - 0xfc], xmm4
movss dword [ebp - 0xd8], xmm0
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x154c]
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x3c], xmm2
movss dword [ebp - 0xf8], xmm2
movss dword [ebp - 0xd4], xmm0
movss dword [ebp - 0x78], xmm2
jmp 0x10032b0a
movss xmm0, dword [ebp - 0x94]
movss xmm1, dword [ebp - 0x90]
movss xmm3, dword [ebp - 0x50]
movaps xmm2, xmm1
mov ecx, dword [ebp - 0x54]
addss xmm3, xmm0
addss xmm2, dword [ebp - 0x44]
movss dword [ebp - 0x100], xmm0
movss dword [ebp - 0xfc], xmm1
mov eax, dword [ecx + 0xd8]
mov ecx, dword [ecx + 0xdc]
movaps xmm0, xmm3
movss dword [ebp - 0x78], xmm3
movaps xmm1, xmm2
movss xmm3, dword [ebp - 0x50]
movss dword [ebp - 0x3c], xmm0
movss dword [ebp - 0xf8], xmm0
movss dword [ebp - 0x80], xmm2
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], ecx
cmp byte [ebp - 0x45], 0
lea eax, [ebp - 0xd8]
movss xmm5, dword [eax]
xorps xmm7, xmm7
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xf4], xmm1
movss dword [ebp - 0x60], xmm1
xorps xmm1, xmm1
mov dword [ebp - 0x7c], eax
movss dword [ebp - 0x34], xmm5
movss dword [ebp - 0x70], xmm5
movss dword [ebp - 0x24], xmm0
movss dword [ebp - 0x6c], xmm0
movss dword [ebp - 0x64], xmm7
movss dword [ebp - 0x1c], xmm1
je 0x10032b5b
mov edx, dword [edi + 0x20]
mov dword [ebx + 8], edx
jmp 0x10032b5e
mov edx, dword [ebx + 8]
cmp byte [ebp - 9], 0
jne 0x10032e66
cmp byte [ebp - 0x84], 0
jne 0x10032e66
cmp byte [ebp - 0x28], 0
je 0x10032bc7
mov edi, dword [ebx + 8]
xor ecx, ecx
mov dl, byte [edx]
inc edi
test dl, dl
je 0x10032b99
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x10032b87
mov al, byte [edi - 1]
dec edi
mov dword [ebp - 0x14], edi
cmp al, 0xa
je 0x10032ba9
cmp al, 0xd
je 0x10032ba9
inc ecx
movd xmm6, ecx
movaps xmm0, xmm3
cvtdq2ps xmm6, xmm6
movss dword [ebp - 0x64], xmm0
mulss xmm6, dword [esi + 0x18c4]
movss dword [ebp - 0x1c], xmm6
jmp 0x10032c01
mov eax, dword [ebp - 0x14]
cmp dword [esi + 0x19ec], eax
jne 0x10032bd9
mov edi, dword [edi + 8]
add edi, edx
jmp 0x10032bef
mov ecx, edx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10032be0
sub ecx, edx
mov edx, dword [ebx + 8]
lea edi, [edx + ecx]
mov eax, edi
mov dword [ebp - 0x14], edi
sub eax, edx
cmp eax, 0x200000
jge 0x10032e06
movss xmm1, dword [0x10155bc0]
xor ecx, ecx
call fcn.10009fa0
mov edx, dword [ebp - 8]
cmp byte [ebp - 0x28], 0
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x38], 0
mov ecx, dword [edx + 0x18c0]
movss xmm2, dword [edx + 0x18c4]
lea edx, [ebp - 0x100]
cmovne edx, dword [ebp - 0x38]
mov esi, dword [esi + 0x284]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], ecx
test eax, 0xff000000
je 0x10032d45
cmp dword [ebp - 0x14], 0
jne 0x10032c74
mov ecx, dword [ebx + 8]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10032c60
mov eax, dword [ebx + 8]
sub ecx, edi
lea edi, [eax + ecx]
mov ecx, dword [ebp - 0x34]
jmp 0x10032c77
mov eax, dword [ebx + 8]
cmp eax, edi
je 0x10032d45
test ecx, ecx
jne 0x10032c8c
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x10032c9d
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x48]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0xd0], xmm0
test edx, edx
je 0x10032d15
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0xd0]
comiss xmm0, xmm1
jae 0x10032ccf
movss dword [ebp - 0xd0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0xcc]
comiss xmm0, xmm1
jae 0x10032ce9
movss dword [ebp - 0xcc], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xc8]
ja 0x10032cff
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xc4]
ja 0x10032d15
movss dword [ebp - 0xc4], xmm0
mov eax, dword [ebp - 0x7c]
test edx, edx
push dword [eax + 4]
push dword [eax]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0xd0]
mov dword [esp], 0
push edi
push dword [ebx + 8]
push eax
push dword [ebp - 0x3c]
push esi
call fcn.10027b90
mov esi, dword [ebp - 8]
cmp byte [ebp - 0x28], 0
je 0x10032e03
mov ecx, dword [0x1020f4d8]
movss xmm1, dword [ebp - 0x1c]
addss xmm1, dword [esi + 0x18c4]
movss xmm0, dword [ebp - 0x64]
mov eax, dword [ecx + 0x19b0]
movss dword [ebp - 0xd8], xmm0
movss dword [ebp - 0xd4], xmm1
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x19b0]
cmp byte [eax + 0x8f], 0
jne 0x10032df9
movss xmm3, dword [eax + 0xd8]
lea ecx, [ebp - 0xd8]
movaps xmm4, xmm3
movss dword [ebp - 0xb8], xmm3
addss xmm4, xmm0
movss xmm0, dword [eax + 0xdc]
movaps xmm2, xmm0
movss dword [ebp - 0xb4], xmm0
addss xmm2, xmm1
movss xmm1, dword [0x10155edc]
movss dword [ebp - 0xb0], xmm4
movss dword [ebp - 0xac], xmm2
call fcn.1000bf80
push 0
xor edx, edx
lea ecx, [ebp - 0xb8]
call fcn.1000c0b0
add esp, 4
call fcn.1000ebf0
call fcn.10014400
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x98]
test cl, cl
je 0x10033901
mov esi, dword [0x1020f4d8]
mov eax, dword [esi + 0x19b0]
mov ecx, dword [eax + 0x284]
dec dword [ecx + 0x4c]
call fcn.10022100
mov ecx, dword [esi + 0x1ab4]
sub ecx, 1
mov dword [esi + 0x1ab4], ecx
jne 0x100338ec
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0xa4]
test ecx, ecx
jne 0x100338f6
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
jmp 0x100338f6
mov eax, dword [edi + 8]
mov esi, 0xfffffc18
mov ecx, dword [edi + 0x14]
add eax, edx
xor edx, edx
mov dword [ebp - 0x14], eax
xorps xmm0, xmm0
mov dword [ebp - 0x4c], ecx
xorps xmm6, xmm6
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x58], esi
cmp byte [ebp - 9], dl
je 0x10032eb2
mov eax, dword [edi + 0x3c]
or esi, 0xffffffff
mov dword [ebp - 0x74], esi
lea eax, [ecx + eax*2]
mov dword [ebp - 0xc4], eax
lea edx, [esi + 2]
cmp byte [ebp - 0x84], 0
je 0x10032ed9
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [ebp - 0x4c]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x58], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x28]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x4c]
movzx eax, word [eax]
test ax, ax
je 0x10032f41
mov edi, dword [ebp - 0x74]
mov esi, eax
cmp si, 0xa
jne 0x10032f2a
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp edi, 0xffffffff
jne 0x10032f17
cmp ecx, dword [ebp - 0xc4]
jb 0x10032f17
dec edx
mov edi, eax
test edx, edx
jle 0x10032f38
cmp dword [ebp - 0x58], 0xffffffff
jne 0x10032f2a
cmp ecx, dword [ebp - 0x68]
jb 0x10032f2a
dec edx
mov dword [ebp - 0x58], eax
test edx, edx
jle 0x10032f38
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x10032ef6
mov dword [ebp - 0x74], edi
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0xc4]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x18], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x58]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0x58], ecx
mov ecx, edx
cmp edx, esi
jbe 0x10032f7e
nop
cmp word [ecx - 2], 0xa
je 0x10032f7e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10032f70
mov eax, dword [0x1020f4d8]
movaps xmm3, xmm0
movaps xmm1, xmm0
mov esi, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x10032fe8
mov edi, dword [ebp - 0xc4]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10032fbc
maxss xmm3, xmm1
movaps xmm1, xmm0
jmp 0x10032fe1
cmp edx, 0xd
je 0x10032fe1
mov edx, eax
cmp edx, dword [esi]
jge 0x10032fd1
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x10032fd6
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x10032fa6
mov edi, dword [ebp - 0x40]
cmp dword [ebp - 0x58], 0
maxss xmm3, xmm1
movd xmm4, dword [ebp - 0x74]
mov ecx, dword [ebp - 8]
cvtdq2ps xmm4, xmm4
movss xmm0, dword [ecx + 0x18c4]
mulss xmm4, xmm0
movss dword [ebp - 0x38], xmm3
movss dword [ebp - 0x108], xmm4
jl 0x100330c5
mov edx, dword [ebp - 0x68]
mov ecx, edx
mov esi, dword [ebp - 0x4c]
cmp edx, esi
jbe 0x10033034
cmp word [ecx - 2], 0xa
je 0x10033034
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10033026
mov eax, dword [0x1020f4d8]
xorps xmm0, xmm0
xorps xmm6, xmm6
xorps xmm2, xmm2
mov esi, dword [eax + 0x18c0]
movss xmm3, dword [eax + 0x18c4]
divss xmm3, dword [esi + 0x10]
cmp ecx, edx
jae 0x100330a5
mov edi, dword [ebp - 0x68]
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10033076
maxss xmm6, xmm2
movaps xmm2, xmm0
jmp 0x1003309e
cmp edx, 0xd
je 0x1003309e
mov edx, eax
cmp edx, dword [esi]
jge 0x1003308b
mov eax, dword [esi + 8]
movss xmm1, dword [eax + edx*4]
jmp 0x10033090
movss xmm1, dword [esi + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x10033060
mov edi, dword [ebp - 0x40]
movd xmm7, dword [ebp - 0x58]
maxss xmm6, xmm2
mov ecx, dword [ebp - 8]
movss xmm3, dword [ebp - 0x38]
cvtdq2ps xmm7, xmm7
movss xmm0, dword [ecx + 0x18c4]
mulss xmm7, xmm0
mov edx, dword [ebp - 0x28]
test dl, dl
je 0x100330ec
movd xmm1, dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss dword [ebp - 0x1c], xmm1
movss xmm1, dword [ebp - 0x50]
movaps xmm0, xmm1
movss dword [ebp - 0x64], xmm0
jmp 0x100330f1
movss xmm1, dword [ebp - 0x50]
cmp byte [ebp - 9], 0
je 0x100331c0
cmp byte [edi + 0xe64], 0
je 0x100331c0
test dword [ebx + 0x14], 0x1000
jne 0x10033166
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm3
mulss xmm1, dword [0x10155b24]
jbe 0x10033143
subss xmm0, xmm1
xorps xmm2, xmm2
maxss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x10033170
subss xmm0, dword [ebp - 0x50]
comiss xmm0, xmm2
xorps xmm2, xmm2
jb 0x10033170
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x10033170
mov dword [edi + 0x38], 0
xorps xmm2, xmm2
test dl, dl
je 0x100331b9
mov edx, dword [ebp - 0x54]
movaps xmm0, xmm4
subss xmm0, dword [ecx + 0x18c4]
movss xmm1, dword [edx + 0x54]
comiss xmm1, xmm0
jbe 0x10033192
maxss xmm0, xmm2
jmp 0x1003319e
movaps xmm0, xmm4
subss xmm0, dword [ebp - 0x44]
maxss xmm0, xmm1
mov eax, dword [ebp - 0x7c]
subss xmm1, xmm0
movss dword [edx + 0x54], xmm0
addss xmm1, dword [eax + 4]
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x6c], xmm1
mov byte [edi + 0xe64], 0
cmp byte [ebp - 0x84], 0
movss xmm4, dword [edi + 0x38]
movss dword [ebp - 0x18], xmm4
je 0x10033464
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0x4c]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 9], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x4c]
lea eax, [eax + edx*2]
mov dword [ebp - 0x44], eax
je 0x10033206
movss xmm1, dword [0x10155bc0]
jmp 0x1003320e
movss xmm1, dword [0x10155b78]
mov ecx, 0x2a
call fcn.10009fa0
cmp byte [ebp - 0x28], 0
mov dword [ebp - 0x4c], eax
je 0x1003322e
xorps xmm0, xmm0
movss dword [ebp - 0xc4], xmm0
jmp 0x10033246
movss xmm0, dword [0x10155edc]
movss dword [ebp - 0xc4], xmm0
movss xmm0, dword [0x10155c04]
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x44]
movss dword [ebp - 0x68], xmm0
movss xmm4, dword [ecx]
addss xmm4, xmm6
movss xmm6, dword [ebp - 0x24]
movaps xmm5, xmm6
addss xmm5, xmm7
subss xmm4, dword [ebp - 0x18]
movss dword [ebp - 0x74], xmm5
cmp esi, edx
jae 0x100334b1
movss xmm6, dword [ebp - 0x60]
mov edi, dword [ebp - 8]
nop
movaps xmm0, xmm6
addss xmm0, dword [edi + 0x18c4]
comiss xmm5, xmm0
ja 0x10033457
movss xmm7, dword [ebp - 0x90]
comiss xmm7, xmm5
jbe 0x100332c9
cmp esi, edx
jae 0x10033439
nop dword [eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x10033439
cmp esi, edx
jb 0x100332b0
jmp 0x10033439
xorps xmm0, xmm0
mov eax, dword [0x1020f4d8]
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [edx + 0x10]
cmp esi, dword [ebp - 0x44]
jae 0x10033328
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10033349
cmp ecx, 0xd
je 0x1003331d
cmp ecx, dword [edx]
jge 0x10033310
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x10033315
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, dword [ebp - 0x44]
jb 0x100332f0
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x7c]
maxss xmm3, xmm1
comiss xmm0, xmm3
jb 0x10033370
mov eax, dword [edi + 0x18c0]
cmp dword [eax], 0x20
jle 0x10033358
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1003335d
movaps xmm3, xmm1
xorps xmm0, xmm0
maxss xmm3, xmm0
xorps xmm1, xmm1
jmp 0x10033325
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10155b64]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ebp - 0xc4]
addss xmm3, xmm4
subss xmm0, dword [edi + 0x18c4]
movss xmm1, dword [ebp - 0x68]
movaps xmm2, xmm7
movss xmm7, dword [ebp - 0x3c]
addss xmm1, xmm5
maxss xmm4, dword [ebp - 0x94]
minss xmm3, xmm7
addss xmm0, xmm5
movss dword [ebp - 0xb8], xmm4
movss dword [ebp - 0xb0], xmm3
maxss xmm2, xmm0
movaps xmm0, xmm6
minss xmm0, xmm1
movss dword [ebp - 0xb4], xmm2
comiss xmm0, dword [ebp - 0x90]
movss dword [ebp - 0xac], xmm0
jbe 0x10033436
comiss xmm6, xmm2
jbe 0x10033436
comiss xmm3, dword [ebp - 0x94]
jbe 0x10033436
comiss xmm7, xmm4
jbe 0x10033436
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xb0]
push dword [ebp - 0x4c]
push eax
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x284]
call fcn.100243c0
movss xmm0, dword [ebp - 0x78]
movss xmm5, dword [ebp - 0x74]
movss xmm6, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x7c]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x80], xmm0
mov edx, dword [ebp - 0x44]
movss xmm4, dword [ecx]
addss xmm5, dword [edi + 0x18c4]
subss xmm4, dword [ebp - 0x18]
movss dword [ebp - 0x74], xmm5
cmp esi, edx
jb 0x10033280
movss xmm4, dword [ebp - 0x18]
movss xmm5, dword [ebp - 0x34]
mov edi, dword [ebp - 0x40]
movss xmm6, dword [ebp - 0x24]
cmp byte [ebp - 0x28], 0
mov edx, dword [ebp - 0x14]
jne 0x10033482
mov eax, edx
sub eax, dword [ebx + 8]
cmp eax, 0x200000
jge 0x100336b2
mov eax, dword [0x1020f4d8]
xorps xmm7, xmm7
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm7, xmm0
movaps xmm1, xmm0
movaps xmmword [ebp - 0xc0], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100334bd
xorps xmm0, xmm0
jmp 0x100334c5
movss xmm4, dword [ebp - 0x18]
movss xmm5, dword [ebp - 0x34]
jmp 0x10033469
minss xmm0, dword [0x10155bc0]
movss xmm2, dword [0x10155e08]
movss xmm3, dword [0x10155b64]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0xbc]
shl ecx, 0x10
comiss xmm7, xmm0
jbe 0x100334f6
xorps xmm0, xmm0
jmp 0x100334fe
minss xmm0, dword [0x10155bc0]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xb8]
shl eax, 8
or ecx, eax
comiss xmm7, xmm0
jbe 0x10033521
xorps xmm0, xmm0
jmp 0x10033529
minss xmm0, dword [0x10155bc0]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
or ecx, eax
comiss xmm7, xmm1
jbe 0x10033541
xorps xmm1, xmm1
jmp 0x10033549
minss xmm1, dword [0x10155bc0]
mulss xmm1, xmm2
movaps xmm0, xmm5
mov esi, dword [ebp - 0x54]
subss xmm0, xmm4
mov dword [ebp - 0x34], 0
movss dword [ebp - 0xc4], xmm6
addss xmm1, xmm3
mov esi, dword [esi + 0x284]
movss dword [ebp - 0xc8], xmm0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
cmp byte [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 8]
mov dword [ebp - 0x3c], ecx
movss xmm2, dword [edx + 0x18c4]
mov edx, dword [edx + 0x18c0]
mov dword [ebp - 0x60], edx
lea edx, [ebp - 0x100]
cmovne edx, dword [ebp - 0x34]
test eax, 0xff000000
je 0x100336b5
cmp dword [ebp - 0x14], 0
jne 0x100335d9
mov ecx, dword [ebx + 8]
lea eax, [ecx + 1]
mov dword [ebp - 0x3c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100335c5
sub ecx, dword [ebp - 0x3c]
mov eax, dword [ebx + 8]
add ecx, eax
mov dword [ebp - 0x3c], ecx
jmp 0x100335dc
mov eax, dword [ebx + 8]
cmp eax, ecx
je 0x100336b5
cmp dword [ebp - 0x60], 0
jne 0x100335f3
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x10033604
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x48]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0xc0], xmm0
test edx, edx
je 0x1003367c
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0xc0]
comiss xmm0, xmm1
jae 0x10033636
movss dword [ebp - 0xc0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0xbc]
comiss xmm0, xmm1
jae 0x10033650
movss dword [ebp - 0xbc], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xb8]
ja 0x10033666
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xb4]
ja 0x1003367c
movss dword [ebp - 0xb4], xmm0
push dword [ebp - 0xc4]
test edx, edx
push dword [ebp - 0xc8]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0xc0]
mov dword [esp], 0
push dword [ebp - 0x3c]
push dword [ebx + 8]
push eax
push dword [ebp - 0x68]
push esi
call fcn.10027b90
xorps xmm7, xmm7
cmp byte [ebp - 9], 0
je 0x10032d45
mov esi, dword [ebp - 8]
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe60]
movss dword [edi + 0xe60], xmm0
cmp byte [esi + 0xb2], 0
movss dword [ebp - 0x3c], xmm0
je 0x1003370d
comiss xmm7, xmm0
jae 0x1003370d
fld dword [ebp - 0x3c]
fld dword [0x10155bd8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10155b9c]
fstp dword [ebp - 0x3c]
comiss xmm0, dword [ebp - 0x3c]
jae 0x1003370d
xor al, al
jmp 0x1003370f
mov al, 1
mov ecx, dword [ebp - 0x7c]
movss xmm4, dword [ebp - 0x24]
movss xmm6, dword [0x10155b64]
movss xmm7, dword [0x10155bc0]
movss xmm3, dword [ecx]
addss xmm4, dword [ebp - 0x108]
addss xmm3, dword [ebp - 0x38]
movss dword [ebp - 0x24], xmm4
movaps xmm0, xmm4
movaps xmm2, xmm4
subss xmm3, dword [ebp - 0x18]
subss xmm0, dword [esi + 0x18c4]
subss xmm2, dword [0x10155be4]
movss dword [ebp - 0x34], xmm3
movaps xmm1, xmm3
movss dword [ebp - 0xb8], xmm3
addss xmm0, xmm6
movss dword [ebp - 0xac], xmm2
addss xmm1, xmm7
movss dword [ebp - 0xb4], xmm0
movss dword [ebp - 0xb0], xmm1
test al, al
je 0x100338c1
comiss xmm2, dword [ebp - 0x90]
jbe 0x100338c1
movss xmm5, dword [ebp - 0x80]
comiss xmm5, xmm0
jbe 0x100338c1
comiss xmm1, dword [ebp - 0x94]
jbe 0x100338c1
movss xmm0, dword [ebp - 0x78]
comiss xmm0, xmm3
jbe 0x100338c1
mov eax, dword [0x1020f4d8]
xorps xmm5, xmm5
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm5, xmm0
movaps xmm1, xmm0
movaps xmmword [ebp - 0x100], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100337f5
xorps xmm0, xmm0
jmp 0x100337f9
minss xmm0, xmm7
movss xmm4, dword [0x10155e08]
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0xfc]
shl ecx, 0x10
comiss xmm5, xmm0
jbe 0x10033822
xorps xmm0, xmm0
jmp 0x10033826
minss xmm0, xmm7
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xf8]
shl eax, 8
or ecx, eax
comiss xmm5, xmm0
jbe 0x10033849
xorps xmm0, xmm0
jmp 0x1003384d
minss xmm0, xmm7
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
or ecx, eax
comiss xmm5, xmm1
jbe 0x10033865
xorps xmm1, xmm1
jmp 0x10033869
minss xmm1, xmm7
mulss xmm1, xmm4
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0xd8], xmm3
addss xmm1, xmm6
movss dword [ebp - 0xd4], xmm2
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x284]
call fcn.100241c0
movss xmm3, dword [ebp - 0x34]
movss xmm4, dword [ebp - 0x24]
movss xmm7, dword [0x10155bc0]
cmp byte [ebp - 0x30], 0
jne 0x10032d48
subss xmm4, dword [esi + 0x18c4]
subss xmm3, xmm7
movss dword [esi + 0x2d28], xmm4
movss dword [esi + 0x2d24], xmm3
jmp 0x10032d48
mov eax, dword [esi + 0x1abc]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.10013c30
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 8]
cmp byte [eax + 0x2d60], 0
je 0x10033923
test cl, cl
jne 0x10033923
mov edx, dword [ebx + 8]
lea ecx, [ebp - 0x70]
push edi
call fcn.10018970
mov eax, dword [ebp - 8]
add esp, 4
movss xmm0, dword [ebp - 0xe4]
xorps xmm2, xmm2
comiss xmm0, xmm2
jbe 0x10033975
movss xmm0, dword [ebp - 0x8c]
xor edx, edx
addss xmm0, dword [eax + 0x1560]
mov ecx, dword [ebp - 0x104]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [eax + 0x154c]
movss dword [ebp - 0x6c], xmm0
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push 1
call fcn.1000a140
add esp, 0xc
mov dl, byte [ebp - 0x5a]
mov ecx, dword [ebx + 0x14]
test dl, dl
je 0x100339a2
test ecx, 0x200000
jne 0x100339a2
mov eax, dword [0x1020f4d8]
mov word [eax + 0x19fb], 0x101
mov eax, dword [eax + 0x19b0]
or dword [eax + 0x11c], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0x1e]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret