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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x158
push esi
mov esi, dword [0x10323708]
mov dword [esp + 0xf8], ecx
mov ecx, esi
push edi
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x19b0]
mov byte [eax + 0x8c], 1
mov edi, dword [ecx + 0x19b0]
mov dword [esp + 0x20], edi
cmp byte [edi + 0x8f], 0
jne 0x100cd7e1
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [esp + 0x38], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [esp + 0x2c], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [esp + 0xb4], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [esp + 0x70], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [esp + 0x6c], eax
test dl, dl
je 0x100cd493
call fcn.100afbb0
mov esi, dword [0x10323708]
mov ecx, dword [edi + 0xcc]
xor edx, edx
mov eax, dword [edi + 0xd4]
mov edi, dword [esp + 0xfc]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.100a4d40
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esi + 0x19ec], eax
jne 0x100cd4c8
mov dword [esi + 0x19f0], eax
cmp dword [esi + 0x1a20], eax
jne 0x100cd4d7
mov byte [esi + 0x1a24], 1
mov ecx, edi
cmp edi, 0xffffffff
jae 0x100cd4f6
nop
mov dl, byte [ecx]
test dl, dl
je 0x100cd4f6
cmp dl, 0x23
jne 0x100cd4f0
cmp byte [ecx + 1], dl
je 0x100cd4f6
inc ecx
cmp ecx, 0xffffffff
jb 0x100cd4e0
movss xmm1, dword [0x102713a0]
movss xmm0, dword [esi + 0x18c4]
movss dword [esp + 0xc8], xmm1
cmp edi, ecx
jne 0x100cd521
xorps xmm7, xmm7
movss dword [esp + 0xcc], xmm7
jmp 0x100cd570
push ecx
push ecx
push edi
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [esp + 0x8c]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.100c38a0
movss xmm0, dword [esp + 0x7c]
xorps xmm7, xmm7
addss xmm0, dword [0x10271014]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [esp + 0x80]
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0xc]
movss xmm3, dword [eax]
movss xmm4, dword [eax + 4]
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x84], xmm4
test dl, dl
je 0x100cd5a7
movss xmm0, dword [edi + 0x18c4]
mulss xmm0, dword [0x10271108]
test byte [esi + 0x1a8c], 1
movss xmm5, dword [edi + 0x154c]
mov eax, dword [esi + 0x19b0]
movaps xmm2, xmm5
addss xmm2, xmm5
addss xmm2, xmm0
je 0x100cd5d3
movss xmm1, dword [esi + 0x1a90]
jmp 0x100cd5db
movss xmm1, dword [eax + 0x180]
comiss xmm7, xmm1
jbe 0x100cd60d
cmp dword [eax + 0x1d0], 0
movss xmm0, dword [eax + 0x22c]
je 0x100cd5f9
movss xmm0, dword [eax + 0x20c]
subss xmm0, dword [eax + 0xd8]
addss xmm1, xmm0
maxss xmm1, dword [0x10271024]
mov ecx, dword [esi + 0x19b0]
xorps xmm0, xmm0
cvttss2si eax, xmm1
movaps xmm1, xmm3
xorps xmm3, xmm3
comiss xmm7, xmm1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
ja 0x100cd631
comiss xmm7, xmm4
jbe 0x100cd652
cmp dword [ecx + 0x1d0], 0
movss xmm3, dword [ecx + 0x22c]
movss xmm0, dword [ecx + 0x230]
je 0x100cd652
movss xmm3, dword [ecx + 0x20c]
movss xmm4, dword [0x102710e0]
ucomiss xmm1, xmm7
lahf
test ah, 0x44
jp 0x100cd66b
movss dword [esp + 0x64], xmm6
jmp 0x100cd68e
comiss xmm7, xmm1
jbe 0x100cd68b
movaps xmm6, xmm3
subss xmm6, dword [ecx + 0xd8]
addss xmm6, xmm1
maxss xmm6, xmm4
movss dword [esp + 0x64], xmm6
jmp 0x100cd68e
movaps xmm6, xmm1
movss xmm1, dword [esp + 0x84]
ucomiss xmm1, xmm7
lahf
test ah, 0x44
jp 0x100cd6ae
movaps xmm0, xmm2
movss dword [esp + 0x84], xmm0
jmp 0x100cd6d1
comiss xmm7, xmm1
jbe 0x100cd6ce
subss xmm0, dword [ecx + 0xdc]
addss xmm0, xmm1
maxss xmm0, xmm4
movss dword [esp + 0x84], xmm0
jmp 0x100cd6d1
movaps xmm0, xmm1
movss xmm1, dword [esp + 0xcc]
comiss xmm1, xmm7
jbe 0x100cd6ec
movaps xmm2, xmm1
addss xmm2, dword [edi + 0x1560]
jmp 0x100cd6ef
xorps xmm2, xmm2
mov esi, dword [esp + 0x20]
movaps xmm1, xmm6
mov dword [esp + 0x54], esi
movss xmm4, dword [esi + 0xdc]
movss xmm3, dword [esi + 0xd8]
addss xmm0, xmm4
movss dword [esp + 0xa4], xmm3
addss xmm1, xmm3
movss dword [esp + 0xa8], xmm4
movss dword [esp + 0xb8], xmm3
movss dword [esp + 0xbc], xmm4
movss dword [esp + 0xb0], xmm0
movaps xmm0, xmm6
movss dword [esp + 0xac], xmm1
addss xmm0, xmm2
movaps xmm1, xmm4
addss xmm1, dword [esp + 0x84]
addss xmm0, xmm3
movss dword [esp + 0xc4], xmm1
movss dword [esp + 0xc0], xmm0
test dl, dl
je 0x100cd872
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xbc]
call fcn.100a7b80
add esp, 4
test al, al
jne 0x100cd7e9
movss xmm0, dword [esp + 0xc0]
lea ecx, [esp + 0x7c]
subss xmm0, dword [esp + 0xb8]
movss xmm1, dword [edi + 0x154c]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0xc4]
subss xmm0, dword [esp + 0xbc]
movss dword [esp + 0x80], xmm0
call fcn.100a7a50
call fcn.100afce0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0xac]
lea edx, [esp + 0x7c]
subss xmm0, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x1c]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0xb4]
subss xmm0, dword [esp + 0xac]
movss dword [esp + 0x84], xmm0
call fcn.100aa8b0
add esp, 4
test al, al
jne 0x100cd846
call fcn.100aa720
call fcn.100afce0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x19b0]
movss xmm0, dword [esp + 0x64]
mov dword [esp + 0x54], ecx
subss xmm0, dword [ecx + 0x80]
mov eax, dword [ecx + 0x144]
or dword [ecx + 0x14c], eax
movss dword [esp + 0x64], xmm0
jmp 0x100cd8b8
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [esp + 0x7c]
movss dword [esp + 0x80], xmm1
movaps xmm1, xmm5
movss dword [esp + 0x7c], xmm0
call fcn.100a7a50
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xbc]
call fcn.100a7b80
add esp, 4
test al, al
je 0x100cd7e1
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xa4]
call fcn.100a7da0
mov byte [esp + 0x16], al
test al, al
je 0x100cd8da
mov dword [edi + 0x1d38], 1
mov eax, dword [esp + 0x18]
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 [0x10323708]
mov dword [esp + 0x44], edi
lea eax, [eax + 1]
mov dword [esi + 0x174], eax
and edx, 5
jne 0x100cd915
inc dword [esi + 0x178]
cmp dword [ecx + 0x1be4], esi
jne 0x100cd9d3
cmp eax, dword [ecx + 0x1bec]
je 0x100cd949
test edx, edx
jne 0x100cd9be
mov eax, dword [esi + 0x178]
cmp eax, dword [ecx + 0x1bf0]
jne 0x100cd9be
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x1af0], eax
mov edx, dword [esp + 0xc]
mov cl, 1
mov byte [esp + 0xa], cl
cmp dword [edx + 0x1be4], esi
jne 0x100cd9dd
mov eax, dword [edx + 0x1bec]
cmp eax, dword [esi + 0x174]
jne 0x100cd9dd
mov byte [esp + 0x14], cl
mov byte [esp + 0x27], 0
cmp byte [esp + 0x16], 0
je 0x100cd98b
cmp byte [edx + 0x3d8], 0
mov byte [esp + 9], 1
jne 0x100cd990
mov byte [esp + 9], 0
mov eax, dword [edx + 0x19ec]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
je 0x100cd9f6
cmp dword [edx + 0x1aec], ecx
je 0x100cd9b7
cmp dword [edx + 0x1ae0], ecx
jne 0x100cd9f6
cmp dword [edx + 0x1b00], 3
jne 0x100cd9f6
mov byte [esp + 0x13], 1
jmp 0x100cd9fb
mov eax, dword [esp + 0x18]
cmp dword [ecx + 0x19ec], eax
jne 0x100cd9d3
xor edx, edx
xor ecx, ecx
call fcn.100a78b0
mov edx, dword [esp + 0xc]
xor cl, cl
mov byte [esp + 0xa], cl
mov byte [esp + 0x14], 0
test cl, cl
je 0x100cd971
mov byte [esp + 0x27], 1
mov byte [esp + 0x14], 0
mov byte [esp + 0xa], cl
jmp 0x100cd976
mov byte [esp + 0x13], 0
cmp byte [esp + 0x2c], 0
je 0x100cda40
test edi, edi
je 0x100cda40
test eax, eax
jne 0x100cda40
mov eax, dword [esp + 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.100a4d40
mov edx, dword [esp + 0x10]
add esp, 4
cmp dword [edx + 0x1a20], eax
jne 0x100cda40
mov byte [esp + 0x15], 1
jmp 0x100cda55
cmp byte [esp + 0x2c], 0
mov byte [esp + 0x15], 0
je 0x100cda88
mov byte [esp + 0x15], 0
test edi, edi
je 0x100cda88
mov eax, dword [esp + 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.100a4d40
mov edx, dword [esp + 0x10]
add esp, 4
cmp dword [edx + 0x19ec], eax
jne 0x100cda88
mov al, 1
jmp 0x100cda8a
xor al, al
mov ecx, dword [esp + 0x18]
cmp dword [edx + 0x19ec], ecx
mov cl, byte [esp + 0x13]
mov byte [esp + 0x17], al
mov byte [esp + 0x33], 0
je 0x100cdab9
test byte [ebp + 0x14], 0x10
jne 0x100cdaad
test cl, cl
je 0x100cdab9
cmp byte [esp + 0x2c], 0
mov byte [esp + 0x3c], 1
je 0x100cdabe
mov byte [esp + 0x3c], 0
cmp byte [esp + 0xa], 0
jne 0x100cdae8
cmp byte [esp + 9], 0
jne 0x100cdae8
cmp byte [esp + 0x15], 0
jne 0x100cdae8
test cl, cl
jne 0x100cdae8
mov byte [esp + 0xa], cl
test al, al
jne 0x100cdaed
mov byte [esp + 0x26], al
jmp 0x100cdd12
mov byte [esp + 0xa], 1
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x26], 1
mov dword [esp + 0x44], edi
cmp dword [edx + 0x19ec], ecx
je 0x100cddbb
mov ecx, dword [ebp + 8]
lea edi, [edx + 0x1e08]
mov dword [esp + 0x44], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cdb20
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x100cdb5d
test eax, eax
je 0x100cdb46
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100cdb4e
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100b55b0
push esi
push dword [ebp + 8]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp + 0xc]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [esp + 0x28], edx
cmp edx, esi
jle 0x100cdbb2
test esi, esi
je 0x100cdb96
mov eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x100cdb9b
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.100b5620
mov edx, dword [esp + 0x28]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x100cdbd4
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.100b55b0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
dec ecx
mov dword [edi + 0x18], 0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [esp + 0x28], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x100cdc45
mov edi, eax
cmp byte [edi], 0
je 0x100cdc39
push 0
mov edx, edi
lea ecx, [esp + 0x38]
call fcn.100a50c0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100cdc35
cmp eax, 0xffff
ja 0x100cdc24
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x28]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x100cdbf8
jmp 0x100cdc39
mov edx, dword [esp + 0x28]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
sub eax, dword [ebp + 8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x100cdc83
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 0x100cdcdc
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 [esp + 0x2c]
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 0x100cdce0
mov ecx, dword [esp + 0x3c]
mov eax, 1
cmp byte [esp + 0x14], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x2c]
test dword [ebp + 0x14], 0x2000
je 0x100cdced
mov byte [edi + 0x48], 1
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x100cdd0e
cmp byte [esp + 0x27], cl
jne 0x100cdd09
cmp byte [esp + 9], cl
je 0x100cdd0e
cmp byte [edx + 0x100], cl
je 0x100cdd0e
mov byte [esp + 0x3c], 1
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp dword [edx + 0x19ec], ecx
je 0x100cddbb
cmp byte [esp + 0xa], 0
je 0x100cddbb
mov edx, esi
call fcn.100a78b0
call fcn.100a7990
mov ecx, esi
call fcn.100af400
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x1a00]
or eax, 3
cmp byte [esp + 0x2c], 0
mov dword [edx + 0x1a00], eax
jne 0x100cdd60
test byte [ebp + 0x14], 0x80
je 0x100cdd69
or eax, 0xc
mov dword [edx + 0x1a00], eax
mov eax, dword [edx + 0x1a08]
or dword [edx + 0x1a04], 2
or eax, 0x180
cmp byte [esp + 0x2c], 0
mov ecx, dword [edx + 0x1a0c]
mov dword [edx + 0x1a08], eax
mov dword [edx + 0x1a0c], ecx
je 0x100cdda3
or eax, 0x60
mov dword [edx + 0x1a0c], ecx
mov dword [edx + 0x1a08], eax
test dword [ebp + 0x14], 0x440
je 0x100cddbb
or eax, 1
mov dword [edx + 0x1a0c], ecx
mov dword [edx + 0x1a08], eax
mov esi, dword [esp + 0x18]
cmp dword [edx + 0x19ec], esi
jne 0x100cde00
test edi, edi
jne 0x100cddd8
xor edx, edx
xor ecx, ecx
call fcn.100a78b0
mov edx, dword [esp + 0xc]
cmp dword [edx + 0x19ec], esi
jne 0x100cde00
cmp byte [edx + 0x3d8], 0
je 0x100cde0b
cmp byte [esp + 0x26], 0
jne 0x100cde0b
cmp byte [esp + 0xa], 0
jne 0x100cde0b
mov byte [esp + 0x33], 1
mov cl, 1
jmp 0x100cde11
test edi, edi
je 0x100cde0f
cmp byte [esp + 0x17], 0
je 0x100cde0f
mov cl, 1
jmp 0x100cde11
xor cl, cl
mov byte [esp + 0x14], cl
test edi, edi
je 0x100cde2c
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100cde2c
test cl, cl
je 0x100cde2c
mov ecx, 1
jmp 0x100cde2e
xor cl, cl
mov eax, dword [esp + 0x38]
mov dword [esp + 0x8c], ecx
mov byte [esp + 0x43], cl
mov byte [esp + 0x5e], 0
mov byte [esp + 0x27], 0
test al, al
je 0x100cdf5a
test edi, edi
je 0x100cdf5a
cmp byte [esp + 0x14], 0
jne 0x100cde66
test cl, cl
je 0x100cdf65
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x10]
lea esi, [ecx + 1]
cmp esi, eax
jle 0x100cdea0
test eax, eax
je 0x100cde86
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100cde8e
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100b5620
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [edi + 0xc], esi
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [esp + 0x28], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x100cdf04
mov edi, eax
cmp byte [edi], 0
je 0x100cdef8
push 0
mov edx, edi
lea ecx, [esp + 0x38]
call fcn.100a50c0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100cdef4
cmp eax, 0xffff
ja 0x100cdee4
mov word [esi], ax
add esi, 2
mov edx, dword [esp + 0x28]
mov ecx, dword [ebp + 0xc]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x100cdeb8
jmp 0x100cdef8
mov edx, dword [esp + 0x28]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
sub eax, dword [ebp + 8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
mov edx, dword [esp + 0xc]
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]
movzx eax, byte [esp + 0x43]
cmp ecx, esi
mov dword [edi + 0x40], ecx
mov ecx, 0
cmovne ecx, eax
mov dword [edi + 0x44], esi
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x8c], ecx
cmp byte [esp + 0x14], 0
jne 0x100cdf6d
test cl, cl
jne 0x100cdf6d
cmp dword [edx + 0x19ec], esi
jne 0x100cdf7f
test al, al
jne 0x100cdf7f
test edi, edi
je 0x100cdf7f
mov byte [esp + 0x43], 1
cmp byte [edi + 0x30], al
jne 0x100cdf84
mov byte [esp + 0x43], 0
cmp byte [esp + 0xb4], 0
je 0x100ce0a5
mov edx, dword [edx + 0x18c0]
cmp dword [edx + 0x14], 0x2a
jg 0x100cdfa3
mov esi, dword [edx + 0x2c]
jmp 0x100cdfc2
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x100cdfb9
mov esi, dword [edx + 0x2c]
jmp 0x100cdfc2
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0xc]
add edi, 0x2c7c
mov dword [esp + 0x34], 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 [0x10323708]
mov dword [edi + 0xc], eax
call fcn.100af630
lea eax, [esp + 0x34]
push eax
lea ecx, [esi + 0x1ab4]
call fcn.100b5380
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 [esp + 0x58], ecx
mov ecx, dword [esi]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], eax
cmp ecx, edi
jne 0x100ce08a
inc ecx
test edi, edi
je 0x100ce078
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100ce07d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b52e0
mov edx, dword [esi]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x34]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x58]
inc dword [esi]
call fcn.100bd750
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], 0
cmp dword [esi + 0x19ec], ecx
jne 0x100ce4c9
mov eax, dword [edi + 8]
mov edx, dword [ebp + 0x14]
mov dword [edi + 0xe68], edx
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x34], eax
cmp byte [esi + 0xf0], 0
mov dword [esi + 0x2f84], 1
sete al
cmp byte [esp + 0x2c], 0
mov byte [esi + 0x19f9], al
movss xmm6, dword [esi + 0xe8]
subss xmm6, dword [esp + 0xa4]
subss xmm6, dword [esi + 0x1548]
addss xmm6, dword [edi + 0x38]
je 0x100ce148
mov eax, dword [esp + 0x54]
movss xmm2, dword [esi + 0xec]
subss xmm2, dword [eax + 0xdc]
subss xmm2, dword [esi + 0x154c]
jmp 0x100ce158
movss xmm2, dword [esi + 0x18c4]
mulss xmm2, dword [0x10270fb4]
cmp byte [esp + 0x3c], 0
mov al, byte [esi + 0xb1]
mov byte [esp + 0xa], al
jne 0x100ce2e2
mov cl, byte [esp + 0x16]
test cl, cl
je 0x100ce185
test al, al
jne 0x100ce1f2
cmp byte [esi + 0x3e2], al
jne 0x100ce2e2
cmp byte [esi + 0x3d8], 0
je 0x100ce249
cmp byte [edi + 0xe65], 0
jne 0x100ce249
test cl, cl
je 0x100ce301
cmp byte [edi + 0x4c], 0
je 0x100ce1c9
push 0
mov edx, edi
lea ecx, [esp + 0xd4]
call fcn.100c77b0
movss xmm2, dword [esp + 0xe0]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.100c7ad0
mov edx, dword [ebp + 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 0x100ce2fd
cmp byte [esi + 0x3e2], 0
je 0x100ce185
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c7eb0
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.100c7eb0
mov edx, dword [ebp + 0x14]
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x100ce2fd
cmp byte [esi + 0xf0], 0
je 0x100ce301
cmp byte [edi + 0xe65], 0
jne 0x100ce30a
movss xmm0, dword [esi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100ce28c
movss xmm0, dword [esi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100ce301
cmp byte [edi + 0x4c], 0
je 0x100ce2ae
push 0
mov edx, edi
lea ecx, [esp + 0xd4]
call fcn.100c77b0
movss xmm2, dword [esp + 0xe0]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100ce2bc
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.100c7ad0
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
jmp 0x100ce2fd
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 [esp + 0xa]
cmp byte [edi + 0xe65], 0
je 0x100ce31a
cmp byte [esi + 0xf0], 0
jne 0x100ce31a
mov byte [edi + 0xe65], 0
cmp byte [esi + 0x100], 0
je 0x100ce32c
cmp byte [esi + 0x102], 0
je 0x100ce339
test al, al
je 0x100ce340
cmp byte [esi + 0x103], 0
je 0x100ce340
mov byte [esp + 9], 1
jmp 0x100ce345
mov byte [esp + 9], 0
test edx, 0x400
je 0x100ce532
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100ce532
call fcn.100aa450
mov ecx, dword [esp + 0x38]
test al, al
mov al, byte [esp + 9]
je 0x100ce3f9
test al, al
jne 0x100ce3f9
cmp byte [esi + 0x101], al
jne 0x100ce3f9
test cl, cl
jne 0x100ce3f9
mov ecx, dword [esi + 0x1508]
mov eax, dword [esi + 0x1500]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x100ce3b1
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x100ce3f1
cmp ecx, edx
jb 0x100ce3a1
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x28]
sub esp, 8
mov dword [esp + 0x30], 9
call fcn.100cd260
add esp, 8
test al, al
je 0x100ce3f1
push dword [esp + 0x28]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c7eb0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, dword [esp + 0x38]
mov al, byte [esp + 9]
mov edx, dword [ebp + 0x14]
cmp dword [esi + 0x1500], 0
jle 0x100ce4c9
test al, al
jne 0x100ce495
test cl, cl
jne 0x100ce495
cmp byte [esp + 0x13], cl
jne 0x100ce495
mov ecx, dword [esp + 0xc]
xor esi, esi
nop dword [eax]
mov eax, dword [ecx + 0x1508]
movzx eax, word [eax + esi*2]
mov dword [esp + 0x28], eax
cmp eax, 9
jne 0x100ce44c
cmp byte [ecx + 0x101], 0
jne 0x100ce485
sub esp, 8
lea ecx, [esp + 0x30]
call fcn.100cd260
add esp, 8
test al, al
je 0x100ce481
push dword [esp + 0x28]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c7eb0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
inc esi
cmp esi, dword [ecx + 0x1500]
jl 0x100ce430
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x1504]
test ecx, ecx
jns 0x100ce4bb
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.100b5620
mov dword [esi + 0x1500], 0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
xor cl, cl
mov byte [esp + 0xb], cl
cmp dword [esi + 0x19ec], eax
jne 0x100cf500
cmp byte [esi + 0x19f8], cl
jne 0x100cef58
cmp byte [esp + 0x33], cl
jne 0x100cef58
mov cl, byte [esi + 0x101]
mov eax, 0x400000
xor esi, esi
test cl, cl
cmovne esi, eax
mov eax, dword [esp + 0xc]
mov dl, byte [eax + 0xb1]
mov byte [esp + 0x5f], dl
test dl, dl
je 0x100ce54b
cmp byte [eax + 0x103], 0
je 0x100ce53f
cmp byte [eax + 0x100], 0
jne 0x100ce53f
mov eax, 1
jmp 0x100ce541
mov al, byte [esp + 9]
mov ecx, dword [esp + 0x38]
jmp 0x100ce3fc
xor eax, eax
test eax, eax
je 0x100ce56e
mov eax, dword [esp + 0xc]
jmp 0x100ce55d
cmp byte [eax + 0x100], 0
je 0x100ce56e
cmp byte [eax + 0x103], 0
jne 0x100ce56e
cmp byte [eax + 0x102], 0
jne 0x100ce56e
test cl, cl
jne 0x100ce56e
mov ah, 1
jmp 0x100ce570
xor ah, ah
mov ecx, dword [esp + 0xc]
mov byte [esp + 0xa], ah
test dl, dl
je 0x100ce5a7
cmp byte [ecx + 0x103], 0
je 0x100ce5a7
cmp byte [ecx + 0x101], 0
je 0x100ce5a7
cmp byte [ecx + 0x100], 0
jne 0x100ce5a7
cmp byte [ecx + 0x102], 0
jne 0x100ce5a7
mov byte [esp + 0x17], 1
jmp 0x100ce5b0
mov byte [esp + 0x17], 0
test dl, dl
je 0x100ce62c
cmp byte [ecx + 0x103], 0
mov dl, byte [ecx + 0x102]
mov byte [esp + 0x15], dl
je 0x100ce637
cmp byte [ecx + 0x100], 0
jne 0x100ce637
test dl, dl
jne 0x100ce637
mov cl, byte [ecx + 0x100]
mov byte [esp + 9], 1
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x101], 0
mov byte [esp + 0x13], 0
je 0x100ce6a0
mov byte [esp + 0x13], 0
test cl, cl
jne 0x100ce6a0
mov byte [esp + 0x13], cl
cmp byte [edx + 0x102], cl
jne 0x100ce6a0
mov byte [esp + 0x13], cl
cmp byte [edx + 0x103], cl
jne 0x100ce6a0
mov byte [esp + 0x16], 1
mov byte [esp + 0x13], cl
jmp 0x100ce6a5
mov dl, byte [ecx + 0x100]
mov byte [esp + 0x17], 0
mov cl, byte [ecx + 0x100]
mov al, dl
mov byte [esp + 0x15], al
mov byte [esp + 9], 0
test cl, cl
je 0x100ce5db
mov edx, dword [esp + 0xc]
mov byte [esp + 0x15], al
mov byte [esp + 9], 0
cmp byte [edx + 0x101], 0
jne 0x100ce5df
cmp byte [edx + 0x102], 0
mov byte [esp + 0x15], al
mov byte [esp + 9], 0
jne 0x100ce5df
cmp byte [edx + 0x103], 0
mov byte [esp + 0x15], al
mov byte [esp + 9], 0
jne 0x100ce5df
mov byte [esp + 0x13], 1
mov byte [esp + 0x15], al
mov byte [esp + 9], 0
mov byte [esp + 0x16], 0
test ah, ah
je 0x100ce6c1
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x100ce6c1
call fcn.100aa450
test al, al
jne 0x100ce6dd
cmp byte [esp + 0x16], 0
je 0x100ce704
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100ce704
call fcn.100aa450
test al, al
je 0x100ce704
cmp byte [esp + 0x38], 0
jne 0x100ce704
cmp byte [esp + 0xb4], 0
jne 0x100ce704
cmp byte [esp + 0x2c], 0
je 0x100ce6fd
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100ce704
mov byte [esp + 0x26], 1
jmp 0x100ce709
mov byte [esp + 0x26], 0
cmp byte [esp + 0xa], 0
je 0x100ce725
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x100ce725
call fcn.100aa450
test al, al
jne 0x100ce741
cmp byte [esp + 0x13], 0
je 0x100ce761
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100ce761
call fcn.100aa450
test al, al
je 0x100ce761
cmp byte [esp + 0xb4], 0
jne 0x100ce761
cmp byte [esp + 0x2c], 0
je 0x100ce75a
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100ce761
mov byte [esp + 0x13], 1
jmp 0x100ce766
mov byte [esp + 0x13], 0
cmp byte [esp + 0xa], 0
je 0x100ce782
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x100ce782
call fcn.100aa450
test al, al
jne 0x100ce79e
cmp byte [esp + 0x16], 0
je 0x100ce7aa
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100ce7aa
call fcn.100aa450
test al, al
je 0x100ce7aa
cmp byte [esp + 0x38], 0
mov byte [esp + 0x5d], 1
je 0x100ce7af
mov byte [esp + 0x5d], 0
mov dl, byte [esp + 0xa]
test dl, dl
je 0x100ce7e8
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100ce7e8
call fcn.100aa450
test al, al
je 0x100ce7e4
cmp byte [esp + 0x38], 0
jne 0x100ce7e4
cmp byte [esp + 0x70], 0
je 0x100ce7e4
mov byte [esp + 0x16], 1
jmp 0x100ce7f1
mov dl, byte [esp + 0xa]
mov byte [esp + 0x16], 0
test dl, dl
je 0x100ce809
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x100ce809
call fcn.100aa450
test al, al
jne 0x100ce828
cmp byte [esp + 0x17], 0
je 0x100ce83b
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100ce83b
call fcn.100aa450
test al, al
je 0x100ce83b
cmp byte [esp + 0x38], 0
jne 0x100ce83b
cmp byte [esp + 0x70], 0
mov byte [esp + 0x17], 1
jne 0x100ce840
mov byte [esp + 0x17], 0
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100ce897
call fcn.100aa450
test al, al
je 0x100ce897
cmp byte [esp + 9], 0
je 0x100ce873
mov eax, 0x200004
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.100c7eb0
jmp 0x100cef1c
cmp byte [esp + 0x15], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.100c7eb0
jmp 0x100cef1c
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100ce8ee
call fcn.100aa450
test al, al
je 0x100ce8ee
cmp byte [esp + 9], 0
je 0x100ce8ca
mov eax, 0x200005
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.100c7eb0
jmp 0x100cef1c
cmp byte [esp + 0x15], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.100c7eb0
jmp 0x100cef1c
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100ce960
call fcn.100aa450
test al, al
je 0x100ce960
cmp byte [esp + 0x2c], 0
je 0x100ce960
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x100], 0
je 0x100ce942
mov edx, dword [esp + 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 0x100cef34
movzx eax, byte [esp + 9]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.100c7eb0
jmp 0x100cef1c
mov ecx, dword [0x10323708]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x100ce9dc
call fcn.100aa450
test al, al
je 0x100ce9dc
cmp byte [esp + 0x2c], 0
je 0x100ce9dc
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x100], 0
je 0x100ce9be
mov ecx, dword [esp + 0x54]
mov esi, eax
mov eax, dword [0x10323708]
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 0x100cef34
movzx eax, byte [esp + 9]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.100c7eb0
jmp 0x100cef1c
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x100cea1c
call fcn.100aa450
test al, al
je 0x100cea1c
mov ecx, dword [esp + 0xc]
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.100c7eb0
jmp 0x100cef1c
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x100cea5c
call fcn.100aa450
test al, al
je 0x100cea5c
mov ecx, dword [esp + 0xc]
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.100c7eb0
jmp 0x100cef1c
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100cea8e
call fcn.100aa450
test al, al
je 0x100cea8e
cmp byte [esp + 0x38], 0
jne 0x100cea8e
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.100c7eb0
jmp 0x100cef1c
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x100ceb2b
call fcn.100aa450
test al, al
je 0x100ceb2b
cmp byte [esp + 0x38], 0
jne 0x100ceb2b
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100ceb15
cmp byte [esp + 0x15], 0
je 0x100ceacc
push 0x60000c
jmp 0x100ceaf7
cmp byte [esp + 0x5f], 0
je 0x100ceb15
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x103], 0
je 0x100ceb15
cmp byte [eax + 0x102], 0
jne 0x100ceb15
cmp byte [eax + 0x100], 0
jne 0x100ceb15
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c7eb0
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.100c7eb0
jmp 0x100cef1c
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x100ceb40
call fcn.100aa450
test al, al
jne 0x100ceb5d
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x100cebe4
call fcn.100aa450
test al, al
je 0x100cebe4
mov edx, dword [ebp + 0x14]
mov eax, edx
mov esi, dword [esp + 0xc]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x2c], 0
je 0x100ceb80
mov cl, byte [esi + 0x100]
test al, al
je 0x100ceb8f
test cl, cl
jne 0x100ceb93
mov byte [esp + 0x33], 1
mov byte [esp + 0x27], 1
jmp 0x100cef34
test cl, cl
jne 0x100ceb80
cmp byte [esp + 0x38], 0
jne 0x100cef34
sub esp, 8
mov dword [esp + 0x30], 0xa
lea ecx, [esp + 0x30]
call fcn.100cd260
add esp, 8
test al, al
je 0x100cef34
push dword [esp + 0x28]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c7eb0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x100cef34
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x100cec08
call fcn.100aa450
test al, al
je 0x100cec08
mov esi, dword [esp + 0xc]
mov cl, 1
mov byte [esp + 0x33], cl
jmp 0x100cef38
mov al, byte [esp + 0x16]
test al, al
jne 0x100ceefd
cmp byte [esp + 0x17], al
jne 0x100ceefd
cmp byte [esp + 0xa], al
je 0x100cec52
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x100cec52
call fcn.100aa450
test al, al
je 0x100cec52
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 0x100cef29
mov al, byte [esp + 0x26]
test al, al
jne 0x100cedf3
cmp byte [esp + 0x13], al
jne 0x100cedf3
cmp byte [esp + 0x5d], al
je 0x100cef30
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x100cec97
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x100cec9c
jmp 0x100cef30
mov esi, 0x1026af64
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ceca1
mov eax, dword [0x10323708]
sub ecx, edx
test eax, eax
je 0x100cecb9
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 [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
cmp byte [esi], al
je 0x100ced32
xor edi, edi
nop dword [eax]
push 0
mov edx, esi
lea ecx, [esp + 0x4c]
call fcn.100a50c0
add esp, 4
add esi, eax
cmp dword [esp + 0x48], 0
je 0x100ced22
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x48]
sub esp, 8
call fcn.100cd260
add esp, 8
test al, al
je 0x100ced1d
mov ecx, dword [esp + 0x1c]
mov ax, word [esp + 0x48]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100cece0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x100cedd1
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x100ced66
cmp ecx, eax
jle 0x100ced56
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x100ced5f
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x100ced66
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x100ced6e
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c7e20
push dword [esp + 0x20]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [esp + 0x20]
call fcn.100c7980
add esp, 8
test al, al
je 0x100cedb2
push dword [esp + 0x20]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x54]
push 0
call fcn.100c8ce0
mov eax, dword [esp + 0x28]
add esp, 8
add dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x100cedc6
movzx eax, word [edi + 0xe52]
test ax, ax
je 0x100cedc6
dec eax
mov word [edi + 0xe52], ax
mov ecx, dword [esp + 0x1c]
mov byte [edi + 0xe64], 1
test ecx, ecx
je 0x100cede4
mov eax, dword [0x10323708]
test eax, eax
je 0x100cede4
dec dword [eax + 0x374]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x100cef30
mov esi, dword [esp + 0xc]
cmp dword [esi + 0xd4], 0
je 0x100ceeba
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x100cee18
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x100cee1d
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.100a5380
lea ecx, [eax + 1]
mov eax, dword [0x10323708]
mov dword [esp + 0x34], ecx
test eax, eax
je 0x100cee49
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 [esp + 0x28]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x58], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [esp + 0x74]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.100a5250
mov eax, dword [0x10323708]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x100cee9a
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x10323708]
add esp, 8
test esi, esi
je 0x100ceea8
test eax, eax
je 0x100ceea8
dec dword [eax + 0x374]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov al, byte [esp + 0x2a]
add esp, 4
mov esi, dword [esp + 0xc]
test al, al
je 0x100cef34
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100ceede
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 0x100cef30
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100c7e20
mov byte [edi + 0x4b], 0
jmp 0x100cef30
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.100c7eb0
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 [esp + 0xc]
mov cl, byte [esp + 0xb]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100cef4b
cmp byte [esp + 0x14], 0
je 0x100cef4b
mov al, 1
jmp 0x100cef4d
xor al, al
or byte [esp + 0x8c], al
mov eax, dword [esp + 0x18]
cmp dword [esi + 0x19ec], eax
jne 0x100cf500
xor eax, eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x20], eax
test cl, cl
je 0x100cf089
cmp byte [esp + 0x38], al
jne 0x100cefbd
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100cefa8
test dl, dl
je 0x100cefa4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100cefa8
add eax, 2
add ecx, 2
test dl, dl
jne 0x100cef88
xor eax, eax
jmp 0x100cefad
sbb eax, eax
or eax, 1
test eax, eax
je 0x100cefbd
mov eax, dword [edi + 0x24]
dec eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x20], eax
cmp byte [esp + 0x27], 0
mov edx, dword [ebp + 0x14]
je 0x100cefd0
test dl, 0x20
jne 0x100cf08c
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
test esi, esi
je 0x100cf4de
cmp dword [esp + 0x60], ecx
je 0x100cf4a8
cmp byte [esp + 0x6c], 0
je 0x100cf4a8
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [esp + 0x144], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [esp + 0x13c], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x130]
push eax
xor eax, eax
movlpd qword [esp + 0x154], xmm0
movlpd qword [esp + 0x15c], xmm0
mov dword [esp + 0x134], 0x40000
mov dword [esp + 0x138], edx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x13c], 0
call eax
mov edx, dword [esp + 0x150]
add esp, 4
mov eax, dword [esp + 0x144]
mov dword [ebp + 8], eax
lea ecx, [edx - 1]
cmp dword [esp + 0x148], ecx
cmovl ecx, dword [esp + 0x148]
jmp 0x100cf4ab
mov edx, dword [ebp + 0x14]
cmp byte [esp + 0x38], 0
jne 0x100cf0ef
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 0x100cf0d8
test eax, eax
je 0x100cf0be
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100cf0c6
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100b55b0
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100a5250
mov edx, dword [ebp + 0x14]
add esp, 8
test edx, 0x1c0
je 0x100cf452
xor esi, esi
test dl, 0x40
je 0x100cf123
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100cf123
call fcn.100aa450
mov edx, dword [ebp + 0x14]
test al, al
je 0x100cf123
mov esi, 0x40
xor eax, eax
jmp 0x100cf17e
test dl, dl
jns 0x100cf16b
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100cf149
call fcn.100aa450
mov edx, dword [ebp + 0x14]
test al, al
je 0x100cf149
mov esi, 0x80
lea eax, [esi - 0x7d]
jmp 0x100cf17e
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100cf16b
call fcn.100aa450
mov edx, dword [ebp + 0x14]
test al, al
je 0x100cf16b
mov esi, 0x80
lea eax, [esi - 0x7c]
jmp 0x100cf17e
test edx, 0x100
mov eax, 0x100
cmovne esi, eax
mov eax, 0x16
test esi, esi
je 0x100cf452
mov dword [esp + 0x110], eax
xor ecx, ecx
mov eax, dword [edi + 0x20]
mov dword [esp + 0x114], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x118], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x100], esi
mov esi, dword [edi + 0x14]
mov dword [esp + 0x11c], eax
mov eax, dword [edi + 0x3c]
mov word [esp + 0x121], cx
mov byte [esp + 0x123], cl
mov dword [esp + 0x104], edx
mov dword [esp + 0x108], ecx
lea edx, [esi + eax*2]
mov byte [esp + 0x120], cl
mov ecx, esi
mov dword [esp + 0x10c], 0
call fcn.100a5380
mov edx, dword [esp + 0x44]
mov edi, eax
mov ecx, esi
mov dword [esp + 0x124], edi
mov edx, dword [edx + 0x40]
lea edx, [esi + edx*2]
call fcn.100a5380
mov dword [esp + 0x58], eax
mov ecx, esi
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.100a5380
mov dword [esp + 0x78], eax
mov dword [esp + 0x12c], eax
lea eax, [esp + 0x100]
push eax
xor eax, eax
call eax
mov edx, dword [esp + 0x128]
add esp, 4
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x50], ecx
cmp edx, edi
je 0x100cf2b0
lea edi, [edx + ecx]
mov esi, ecx
xor eax, eax
mov dword [esp + 0x1c], eax
test edi, edi
je 0x100cf26c
cmp esi, edi
jae 0x100cf29c
cmp byte [esi], 0
je 0x100cf29c
push edi
mov edx, esi
lea ecx, [esp + 0x38]
call fcn.100a50c0
add esi, eax
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100cf298
cmp eax, 0xffff
mov eax, dword [esp + 0x1c]
ja 0x100cf264
inc eax
jmp 0x100cf260
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
mov dword [esi + 0x3c], eax
mov byte [esi + 0xe64], 1
jmp 0x100cf2b4
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x128]
cmp eax, dword [esp + 0x58]
je 0x100cf313
lea esi, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [esp + 0x1c], eax
nop dword [eax]
test esi, esi
je 0x100cf2d8
cmp edi, esi
jae 0x100cf308
cmp byte [edi], 0
je 0x100cf308
push esi
mov edx, edi
lea ecx, [esp + 0x38]
call fcn.100a50c0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100cf304
cmp eax, 0xffff
mov eax, dword [esp + 0x1c]
ja 0x100cf2d0
inc eax
jmp 0x100cf2c8
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x12c]
cmp eax, dword [esp + 0x78]
je 0x100cf36f
lea esi, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [esp + 0x1c], eax
nop dword [eax + eax]
test esi, esi
je 0x100cf338
cmp edi, esi
jae 0x100cf368
cmp byte [edi], 0
je 0x100cf368
push esi
mov edx, edi
lea ecx, [esp + 0x38]
call fcn.100a50c0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100cf364
cmp eax, 0xffff
mov eax, dword [esp + 0x1c]
ja 0x100cf330
inc eax
jmp 0x100cf327
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x44]
mov dword [esi + 0x44], eax
cmp byte [esp + 0x120], 0
je 0x100cf44f
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x60]
cmp ecx, edx
jle 0x100cf3d9
cmp byte [esp + 0x6c], 0
je 0x100cf3d9
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
sub edi, edx
add edi, ecx
cmp edi, eax
jle 0x100cf3d6
test eax, eax
je 0x100cf3b4
cdq
sub eax, edx
lea edx, [esi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100cf3bc
mov ecx, 8
lea edx, [esi + 0xc]
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100b5620
mov eax, dword [esp + 0x114]
mov dword [esp + 0x50], eax
mov dword [esi + 0xc], edi
mov ecx, dword [esi + 0x14]
mov edi, ecx
mov eax, dword [esi + 0xc]
dec eax
mov dword [esp + 0x78], ecx
lea eax, [ecx + eax*2]
mov dword [esp + 0x58], eax
cmp ecx, eax
jae 0x100cf42f
mov esi, dword [esp + 0x50]
cmp byte [esi], 0
je 0x100cf427
push 0
mov edx, esi
lea ecx, [esp + 0x38]
call fcn.100a50c0
add esi, eax
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100cf427
cmp eax, 0xffff
ja 0x100cf421
mov word [edi], ax
add edi, 2
cmp edi, dword [esp + 0x58]
jb 0x100cf3f5
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
xor eax, eax
mov word [edi], ax
sub edi, ecx
mov eax, dword [esp + 0x118]
sar edi, 1
mov dword [esi + 4], edi
mov dword [esi + 8], eax
mov dword [esi + 0xe60], 0xbe99999a
mov edx, dword [ebp + 0x14]
cmp byte [esp + 0x38], 0
mov edi, dword [esp + 0x44]
jne 0x100cefd0
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebp + 8]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100cf490
test dl, dl
je 0x100cf48c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100cf490
add eax, 2
add ecx, 2
test dl, dl
jne 0x100cf470
xor eax, eax
jmp 0x100cf495
sbb eax, eax
or eax, 1
mov edx, dword [ebp + 0x14]
test eax, eax
je 0x100cefd0
mov ecx, dword [edi + 8]
jmp 0x100cefd8
mov edx, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, edx
cmovl edx, eax
mov dword [ebp + 0xc], edx
cmp edx, 1
jb 0x100cf4d9
jbe 0x100cf4d1
lea eax, [edx - 1]
push eax
push esi
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [edx + eax - 1], 0
mov byte [esp + 0x5e], 1
mov esi, dword [esp + 0xc]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [esp + 0x33], 0
mov ecx, dword [esp + 0x18]
je 0x100cf520
cmp dword [esi + 0x19ec], ecx
jne 0x100cf520
xor edx, edx
xor ecx, ecx
call fcn.100a78b0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
test al, al
jne 0x100cf6ab
mov edx, ecx
lea ecx, [esp + 0xa4]
push 1
call fcn.100a69b0
mov eax, dword [0x10323708]
xorps xmm3, xmm3
movss xmm5, dword [0x10271024]
add esp, 4
movups xmm0, xmmword [eax + 0x1630]
comiss xmm3, xmm0
movaps xmm1, xmm0
movaps xmmword [esp + 0xd0], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100cf577
xorps xmm0, xmm0
jmp 0x100cf57b
minss xmm0, xmm5
movss xmm2, dword [0x102712b0]
movss xmm4, dword [0x10270fb4]
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si edx, xmm0
movss xmm0, dword [esp + 0xd4]
shl edx, 0x10
comiss xmm3, xmm0
jbe 0x100cf5ad
xorps xmm0, xmm0
jmp 0x100cf5b1
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xd8]
shl eax, 8
or edx, eax
comiss xmm3, xmm0
jbe 0x100cf5d5
xorps xmm0, xmm0
jmp 0x100cf5d9
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
or edx, eax
comiss xmm3, xmm1
jbe 0x100cf5f1
xorps xmm1, xmm1
jmp 0x100cf5f5
minss xmm1, xmm5
push dword [esp + 0xb0]
mulss xmm1, xmm2
push dword [esp + 0xb0]
movss xmm2, dword [esi + 0x1550]
push dword [esp + 0xb0]
addss xmm1, xmm4
push dword [esp + 0xb0]
cvttss2si ecx, xmm1
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.100a61d0
movss xmm4, dword [esp + 0xb4]
add esp, 0x10
movss xmm6, dword [esp + 0xa8]
movaps xmm1, xmm4
movss xmm3, dword [esp + 0x64]
movaps xmm0, xmm6
addss xmm0, dword [esp + 0x84]
mov eax, dword [esp + 0x2c]
addss xmm1, xmm3
movaps xmm5, xmm4
movss dword [esp + 0xd0], xmm4
addss xmm5, dword [esi + 0x1548]
movaps xmm2, xmm6
movss dword [esp + 0xd4], xmm6
addss xmm2, dword [esi + 0x154c]
movss dword [esp + 0x78], xmm1
movss dword [esp + 0xd8], xmm1
movss dword [esp + 0x34], xmm1
movss dword [esp + 0x58], xmm0
jmp 0x100cf721
movss xmm0, dword [esp + 0xa4]
movss xmm3, dword [esp + 0x64]
movss xmm2, dword [esp + 0xa8]
addss xmm3, xmm0
movss xmm1, dword [esp + 0x84]
mov ecx, dword [esp + 0x54]
addss xmm1, xmm2
movss dword [esp + 0xd0], xmm0
movss dword [esp + 0xd4], xmm2
movaps xmm0, xmm3
movss dword [esp + 0x34], xmm3
movss xmm5, dword [ecx + 0xd8]
movss xmm2, dword [ecx + 0xdc]
movss xmm3, dword [esp + 0x64]
movss dword [esp + 0x78], xmm0
movss dword [esp + 0xd8], xmm0
movaps xmm0, xmm1
movss dword [esp + 0x58], xmm1
cmp byte [esp + 0x43], 0
xorps xmm7, xmm7
movss dword [esp + 0xbc], xmm2
movss dword [esp + 0xb8], xmm5
movss dword [esp + 0x74], xmm2
movss dword [esp + 0x50], xmm5
movss dword [esp + 0xdc], xmm0
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x7c], xmm5
movss dword [esp + 0x80], xmm2
movss dword [esp + 0x70], xmm7
movss dword [esp + 0x28], xmm7
je 0x100cf77b
mov edx, dword [edi + 0x20]
mov dword [ebp + 8], edx
jmp 0x100cf77e
mov edx, dword [ebp + 8]
cmp byte [esp + 0x14], 0
jne 0x100cfa1f
cmp byte [esp + 0x8c], 0
jne 0x100cfa1f
test al, al
je 0x100cf7e7
mov edi, dword [ebp + 8]
xor ecx, ecx
mov dl, byte [edx]
inc edi
test dl, dl
je 0x100cf7b9
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x100cf7a7
mov al, byte [edi - 1]
dec edi
mov dword [esp + 0x18], edi
cmp al, 0xa
je 0x100cf7ca
cmp al, 0xd
je 0x100cf7ca
inc ecx
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
movss dword [esp + 0x70], xmm3
mulss xmm6, dword [esi + 0x18c4]
movss dword [esp + 0x28], xmm6
jmp 0x100cf822
mov eax, dword [esp + 0x18]
cmp dword [esi + 0x19ec], eax
jne 0x100cf7fa
mov edi, dword [edi + 8]
add edi, edx
jmp 0x100cf80f
mov ecx, edx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cf800
sub ecx, edx
mov edx, dword [ebp + 8]
lea edi, [edx + ecx]
mov eax, edi
mov dword [esp + 0x18], edi
sub eax, edx
cmp eax, 0x200000
jge 0x100cf9be
movss xmm1, dword [0x10271024]
xor ecx, ecx
call fcn.100a59b0
mov edx, dword [esp + 0xc]
cmp byte [esp + 0x2c], 0
mov esi, dword [esp + 0x54]
mov dword [esp + 0x34], 0
mov ecx, dword [edx + 0x18c0]
movss xmm2, dword [edx + 0x18c4]
lea edx, [esp + 0xd0]
cmovne edx, dword [esp + 0x34]
mov esi, dword [esi + 0x284]
mov dword [esp + 0x58], eax
mov dword [esp + 0x48], ecx
test eax, 0xff000000
je 0x100cf973
cmp dword [esp + 0x18], 0
jne 0x100cf89b
mov ecx, dword [ebp + 8]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cf886
mov eax, dword [ebp + 8]
sub ecx, edi
lea edi, [eax + ecx]
mov ecx, dword [esp + 0x48]
jmp 0x100cf89e
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x100cf973
test ecx, ecx
jne 0x100cf8b4
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x48], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100cf8c5
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 [esp + 0x90], xmm0
test edx, edx
je 0x100cf93a
movss xmm0, dword [esp + 0x90]
maxss xmm0, dword [edx]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [edx + 4]
maxss xmm0, dword [esp + 0x94]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [edx + 8]
minss xmm0, dword [esp + 0x98]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [edx + 0xc]
minss xmm0, dword [esp + 0x9c]
movss dword [esp + 0x9c], xmm0
push dword [esp + 0xbc]
test edx, edx
push dword [esp + 0xbc]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0xa0]
mov dword [esp], 0
push edi
push dword [ebp + 8]
push eax
push dword [esp + 0x74]
push esi
call fcn.100c3a50
mov esi, dword [esp + 0xc]
cmp byte [esp + 0x2c], 0
je 0x100cf9ba
movss xmm0, dword [esp + 0x70]
lea ecx, [esp + 0xb8]
movss dword [esp + 0xb8], xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, dword [esi + 0x18c4]
movss dword [esp + 0xbc], xmm0
call fcn.100cba30
call fcn.100aa720
call fcn.100afce0
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0xb4]
test cl, cl
je 0x100d0551
mov esi, dword [0x10323708]
mov eax, dword [esi + 0x19b0]
mov ecx, dword [eax + 0x284]
dec dword [ecx + 0x4c]
call fcn.100bd750
mov ecx, dword [esi + 0x1ab4]
sub ecx, 1
mov dword [esi + 0x1ab4], ecx
jne 0x100d053b
mov eax, dword [0x10323708]
mov ecx, dword [eax + 0xa4]
test ecx, ecx
jne 0x100d0545
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
jmp 0x100d0545
mov eax, dword [edi + 8]
mov esi, 0xfffffc18
mov ecx, dword [edi + 0x14]
add eax, edx
xor edx, edx
mov dword [esp + 0x18], eax
xorps xmm0, xmm0
mov dword [esp + 0x20], ecx
xorps xmm6, xmm6
mov dword [esp + 0x60], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x88], esi
mov dword [esp + 0x3c], esi
cmp byte [esp + 0x14], dl
je 0x100cfa74
mov eax, dword [edi + 0x3c]
or esi, 0xffffffff
mov dword [esp + 0x88], esi
lea eax, [ecx + eax*2]
mov dword [esp + 0x60], eax
lea edx, [esi + 2]
cmp byte [esp + 0x8c], 0
je 0x100cfaa0
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [esp + 0x20]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [esp + 0x3c], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
movzx eax, word [eax]
test ax, ax
je 0x100cfb1b
mov edi, dword [esp + 0x88]
mov esi, eax
cmp si, 0xa
jne 0x100cfafb
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp edi, 0xffffffff
jne 0x100cfae5
cmp ecx, dword [esp + 0x60]
jb 0x100cfae5
dec edx
mov edi, eax
test edx, edx
jle 0x100cfb09
cmp dword [esp + 0x3c], 0xffffffff
jne 0x100cfafb
cmp ecx, dword [esp + 0x48]
jb 0x100cfafb
dec edx
mov dword [esp + 0x3c], eax
test edx, edx
jle 0x100cfb09
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x100cfac4
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
inc eax
cmp esi, 0xffffffff
mov dword [esp + 0x1c], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, edx
cmp edx, esi
jbe 0x100cfb5e
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x100cfb5e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x100cfb50
mov eax, dword [0x10323708]
movaps xmm3, xmm0
movss dword [esp + 0x88], xmm3
movaps xmm1, xmm0
mov esi, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x100cfbed
mov edi, dword [esp + 0x60]
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100cfba6
maxss xmm3, xmm1
movaps xmm1, xmm0
jmp 0x100cfbcb
cmp edx, 0xd
je 0x100cfbcb
mov edx, eax
cmp edx, dword [esi]
jge 0x100cfbbb
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x100cfbc0
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x100cfb90
comiss xmm1, xmm3
mov edi, dword [esp + 0x44]
movss dword [esp + 0x88], xmm3
jbe 0x100cfbed
movaps xmm3, xmm1
movss dword [esp + 0x88], xmm1
cmp dword [esp + 0x3c], 0
movd xmm4, dword [esp + 0x68]
mov ecx, dword [esp + 0xc]
cvtdq2ps xmm4, xmm4
movss xmm0, dword [ecx + 0x18c4]
mulss xmm4, xmm0
movss dword [esp + 0xb8], xmm4
jl 0x100cfcc4
mov edx, dword [esp + 0x48]
mov ecx, edx
mov esi, dword [esp + 0x20]
cmp edx, esi
jbe 0x100cfc36
cmp word [ecx - 2], 0xa
je 0x100cfc36
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x100cfc28
mov eax, dword [0x10323708]
xorps xmm0, xmm0
xorps xmm6, xmm6
xorps xmm1, xmm1
mov esi, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x100cfcab
mov edi, dword [esp + 0x48]
nop
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100cfc76
maxss xmm6, xmm1
movaps xmm1, xmm0
jmp 0x100cfc9b
cmp edx, 0xd
je 0x100cfc9b
mov edx, eax
cmp edx, dword [esi]
jge 0x100cfc8b
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x100cfc90
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x100cfc60
comiss xmm1, xmm6
mov edi, dword [esp + 0x44]
jbe 0x100cfcab
movaps xmm6, xmm1
movd xmm7, dword [esp + 0x3c]
mov ecx, dword [esp + 0xc]
cvtdq2ps xmm7, xmm7
movss xmm0, dword [ecx + 0x18c4]
mulss xmm7, xmm0
mov edx, dword [esp + 0x2c]
test dl, dl
je 0x100cfced
movd xmm1, dword [esp + 0x1c]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x70], xmm0
movss dword [esp + 0x28], xmm1
jmp 0x100cfcf3
movss xmm0, dword [esp + 0x64]
cmp byte [esp + 0x14], 0
je 0x100cfdcf
cmp byte [edi + 0xe64], 0
je 0x100cfdcf
test dword [ebp + 0x14], 0x1000
jne 0x100cfd6d
movss xmm2, dword [edi + 0x38]
movaps xmm1, xmm0
comiss xmm2, xmm3
mulss xmm1, dword [0x10270f68]
movaps xmm0, xmm3
jbe 0x100cfd49
subss xmm0, xmm1
xorps xmm2, xmm2
maxss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100cfd77
subss xmm0, dword [esp + 0x64]
comiss xmm0, xmm2
xorps xmm2, xmm2
jb 0x100cfd77
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100cfd77
mov dword [edi + 0x38], 0
xorps xmm2, xmm2
test dl, dl
je 0x100cfdc8
mov eax, dword [esp + 0x54]
movaps xmm0, xmm4
subss xmm0, dword [ecx + 0x18c4]
movss xmm1, dword [eax + 0x54]
comiss xmm1, xmm0
jbe 0x100cfd9a
maxss xmm0, xmm2
jmp 0x100cfdaa
movaps xmm0, xmm4
subss xmm0, dword [esp + 0x84]
maxss xmm0, xmm1
subss xmm1, xmm0
movss dword [eax + 0x54], xmm0
addss xmm1, dword [esp + 0x74]
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x80], xmm1
mov byte [edi + 0xe64], 0
cmp byte [esp + 0x8c], 0
movss xmm4, dword [edi + 0x38]
movss dword [esp + 0x1c], xmm4
je 0x100d0075
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [esp + 0x20]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [esp + 0x14], 0
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x20]
lea eax, [eax + edx*2]
mov dword [esp + 0x48], eax
je 0x100cfe1b
movss xmm1, dword [0x10271024]
jmp 0x100cfe23
movss xmm1, dword [0x10270fc8]
mov ecx, 0x2a
call fcn.100a59b0
cmp byte [esp + 0x2c], 0
mov dword [esp + 0x68], eax
je 0x100cfe46
xorps xmm0, xmm0
movss dword [esp + 0xc8], xmm0
jmp 0x100cfe4e
movss xmm0, dword [0x10271070]
movss xmm4, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
addss xmm4, xmm6
movss xmm6, dword [esp + 0x74]
movss dword [esp + 0x60], xmm0
movaps xmm5, xmm6
addss xmm5, xmm7
subss xmm4, dword [esp + 0x1c]
movss dword [esp + 0x20], xmm5
cmp esi, ecx
jae 0x100d00c6
movss xmm6, dword [esp + 0x6c]
mov edi, dword [esp + 0xc]
nop dword [eax]
movaps xmm0, xmm6
addss xmm0, dword [edi + 0x18c4]
comiss xmm5, xmm0
ja 0x100d0065
movss xmm0, dword [esp + 0xa8]
comiss xmm0, xmm5
jbe 0x100cfed9
cmp esi, ecx
jae 0x100d0043
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x100d0043
cmp esi, ecx
jb 0x100cfec0
jmp 0x100d0043
mov eax, dword [0x10323708]
xorps xmm7, xmm7
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x100cff45
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x100cff37
cmp ecx, 0xd
je 0x100cff2d
cmp ecx, dword [edx]
jge 0x100cff20
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x100cff25
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [esp + 0x48]
cmp esi, ecx
jb 0x100cff00
jmp 0x100cff45
mov ecx, dword [esp + 0x48]
movaps xmm3, xmm1
maxss xmm3, xmm7
movaps xmm1, xmm7
maxss xmm3, xmm1
comiss xmm7, xmm3
jb 0x100cff7e
mov eax, dword [edi + 0x18c0]
cmp dword [eax], 0x20
jle 0x100cff66
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100cff6b
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10270fb4]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm2, dword [esp + 0xc8]
addss xmm3, xmm4
subss xmm2, dword [edi + 0x18c4]
movss xmm1, dword [esp + 0x60]
movaps xmm0, xmm6
movss xmm7, dword [esp + 0x78]
addss xmm1, xmm5
maxss xmm4, dword [esp + 0xa4]
minss xmm3, xmm7
addss xmm2, xmm5
minss xmm0, xmm1
movss dword [esp + 0x90], xmm4
movss dword [esp + 0x98], xmm3
maxss xmm2, dword [esp + 0xa8]
comiss xmm0, dword [esp + 0xa8]
movss dword [esp + 0x94], xmm2
movss dword [esp + 0x9c], xmm0
jbe 0x100d0043
comiss xmm6, xmm2
jbe 0x100d0043
comiss xmm3, dword [esp + 0xa4]
jbe 0x100d0043
comiss xmm7, xmm4
jbe 0x100d0043
push 0xf
push ecx
mov dword [esp], 0
lea eax, [esp + 0xa0]
push dword [esp + 0x70]
push eax
lea eax, [esp + 0xa0]
push eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x284]
call fcn.100bf9d0
movss xmm5, dword [esp + 0x20]
movss xmm6, dword [esp + 0x6c]
mov ecx, dword [esp + 0x48]
movss xmm4, dword [esp + 0x50]
addss xmm5, dword [edi + 0x18c4]
subss xmm4, dword [esp + 0x1c]
movss dword [esp + 0x20], xmm5
cmp esi, ecx
jb 0x100cfe90
movss xmm4, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x50]
mov edi, dword [esp + 0x44]
movss xmm6, dword [esp + 0x74]
cmp byte [esp + 0x2c], 0
mov edx, dword [esp + 0x18]
jne 0x100d0096
mov eax, edx
sub eax, dword [ebp + 8]
cmp eax, 0x200000
jge 0x100d02e0
mov eax, dword [0x10323708]
xorps xmm7, xmm7
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm7, xmm0
movaps xmm1, xmm0
movaps xmmword [esp + 0x90], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100d00d4
xorps xmm0, xmm0
jmp 0x100d00dc
movss xmm4, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x50]
jmp 0x100d007b
minss xmm0, dword [0x10271024]
movss xmm2, dword [0x102712b0]
movss xmm3, dword [0x10270fb4]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0x94]
shl ecx, 0x10
comiss xmm7, xmm0
jbe 0x100d010e
xorps xmm0, xmm0
jmp 0x100d0116
minss xmm0, dword [0x10271024]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x98]
shl eax, 8
or ecx, eax
comiss xmm7, xmm0
jbe 0x100d013a
xorps xmm0, xmm0
jmp 0x100d0142
minss xmm0, dword [0x10271024]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
or ecx, eax
comiss xmm7, xmm1
jbe 0x100d015a
xorps xmm1, xmm1
jmp 0x100d0162
minss xmm1, dword [0x10271024]
mulss xmm1, xmm2
movaps xmm0, xmm5
mov esi, dword [esp + 0x54]
subss xmm0, xmm4
mov dword [esp + 0x68], 0
movss dword [esp + 0x4c], xmm6
addss xmm1, xmm3
mov esi, dword [esi + 0x284]
movss dword [esp + 0x48], xmm0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
cmp byte [esp + 0x2c], 0
mov ecx, edx
mov dword [esp + 0xc8], eax
mov edx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
movss xmm2, dword [edx + 0x18c4]
mov edx, dword [edx + 0x18c0]
mov dword [esp + 0x6c], edx
lea edx, [esp + 0xd0]
cmovne edx, dword [esp + 0x68]
test eax, 0xff000000
je 0x100d02e3
cmp dword [esp + 0x18], 0
jne 0x100d01fe
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [esp + 0x68], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d01e8
sub ecx, dword [esp + 0x68]
mov eax, dword [ebp + 8]
add ecx, eax
mov dword [esp + 0x78], ecx
jmp 0x100d0201
mov eax, dword [ebp + 8]
cmp eax, ecx
je 0x100d02e3
cmp dword [esp + 0x6c], 0
jne 0x100d021a
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x6c], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100d022b
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 [esp + 0x90], xmm0
test edx, edx
je 0x100d02a4
movss xmm0, dword [edx]
maxss xmm0, dword [esp + 0x90]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [edx + 4]
maxss xmm0, dword [esp + 0x94]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [edx + 8]
minss xmm0, dword [esp + 0x98]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [edx + 0xc]
minss xmm0, dword [esp + 0x9c]
movss dword [esp + 0x9c], xmm0
push dword [esp + 0x4c]
test edx, edx
push dword [esp + 0x4c]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0xa0]
mov dword [esp], 0
push dword [esp + 0x88]
push dword [ebp + 8]
push eax
push dword [esp + 0xe4]
push esi
call fcn.100c3a50
xorps xmm7, xmm7
cmp byte [esp + 0x14], 0
je 0x100cf973
mov esi, dword [esp + 0xc]
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe60]
movss dword [edi + 0xe60], xmm0
cmp byte [esi + 0xb2], 0
movss dword [esp + 0x68], xmm0
je 0x100d0341
comiss xmm7, xmm0
jae 0x100d0341
fld dword [esp + 0x68]
fld dword [0x10271034]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10270ff4]
fstp dword [esp + 0x68]
comiss xmm0, dword [esp + 0x68]
jae 0x100d0341
xor al, al
jmp 0x100d0343
mov al, 1
movss xmm4, dword [esp + 0x74]
movss xmm3, dword [esp + 0x50]
movss xmm6, dword [0x10270fb4]
movss xmm7, dword [0x10271024]
addss xmm4, dword [esp + 0xb8]
addss xmm3, dword [esp + 0x88]
movss dword [esp + 0x74], xmm4
movaps xmm0, xmm4
movaps xmm2, xmm4
subss xmm3, dword [esp + 0x1c]
subss xmm0, dword [esi + 0x18c4]
subss xmm2, dword [0x10271040]
movss dword [esp + 0x50], xmm3
movaps xmm1, xmm3
movss dword [esp + 0xd0], xmm3
addss xmm0, xmm6
movss dword [esp + 0xdc], xmm2
addss xmm1, xmm7
movss dword [esp + 0xd4], xmm0
movss dword [esp + 0xd8], xmm1
test al, al
je 0x100d050f
comiss xmm2, dword [esp + 0xa8]
jbe 0x100d050f
movss xmm5, dword [esp + 0x58]
comiss xmm5, xmm0
jbe 0x100d050f
comiss xmm1, dword [esp + 0xa4]
jbe 0x100d050f
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm3
jbe 0x100d050f
mov eax, dword [0x10323708]
xorps xmm5, xmm5
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm5, xmm0
movaps xmm1, xmm0
movaps xmmword [esp + 0x90], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100d043a
xorps xmm0, xmm0
jmp 0x100d043e
minss xmm0, xmm7
movss xmm4, dword [0x102712b0]
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0x94]
shl ecx, 0x10
comiss xmm5, xmm0
jbe 0x100d0468
xorps xmm0, xmm0
jmp 0x100d046c
minss xmm0, xmm7
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x98]
shl eax, 8
or ecx, eax
comiss xmm5, xmm0
jbe 0x100d0490
xorps xmm0, xmm0
jmp 0x100d0494
minss xmm0, xmm7
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
or ecx, eax
comiss xmm5, xmm1
jbe 0x100d04ac
xorps xmm1, xmm1
jmp 0x100d04b0
minss xmm1, xmm7
mulss xmm1, xmm4
push ecx
mov dword [esp], 0x3f800000
movss dword [esp + 0xbc], xmm3
addss xmm1, xmm6
movss dword [esp + 0xc0], xmm2
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
push eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0xdc]
push eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x284]
call fcn.100bf6b0
movss xmm3, dword [esp + 0x50]
movss xmm4, dword [esp + 0x74]
movss xmm7, dword [0x10271024]
cmp byte [esp + 0x38], 0
jne 0x100cf977
subss xmm4, dword [esi + 0x18c4]
subss xmm3, xmm7
movss dword [esi + 0x2d28], xmm4
movss dword [esi + 0x2d24], xmm3
jmp 0x100cf977
mov eax, dword [esi + 0x1abc]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.100af630
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x2d60], 0
je 0x100d0576
test cl, cl
jne 0x100d0576
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x7c]
push edi
call fcn.100b4190
mov eax, dword [esp + 0x10]
add esp, 4
movss xmm0, dword [esp + 0xcc]
xorps xmm2, xmm2
comiss xmm0, xmm2
jbe 0x100d05d9
movss xmm0, dword [esp + 0xac]
xor edx, edx
addss xmm0, dword [eax + 0x1560]
mov ecx, dword [esp + 0xfc]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0xa8]
addss xmm0, dword [eax + 0x154c]
movss dword [esp + 0x80], xmm0
push dword [esp + 0x80]
push dword [esp + 0x80]
push 1
call fcn.100a5b50
add esp, 0xc
mov dl, byte [esp + 0x5e]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x100d0607
test ecx, 0x200000
jne 0x100d0607
mov eax, dword [0x10323708]
mov word [eax + 0x19fb], 0x101
mov eax, dword [eax + 0x19b0]
or dword [eax + 0x11c], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [esp + 0x27]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
ret