Function at 0x100c2860
Capabilities:
Check os version
Encode data using xor
Encrypt data using rc4 ksa
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x460
mov esi, esp
mov dword [esi + 0x448], ebp
mov edi, dword [ebp + 8]
mov dword [esi + 0x44c], esp
mov dword [esi + 0x458], 0xffffffff
lea eax, [esi + 0x450]
mov dword [esi + 0x454], 0x100ce210
mov ecx, dword fs:[0]
mov dword [esi + 0x450], ecx
mov dword fs:[0], eax
push edi
call fcn.100c8490
add esp, 4
mov dword [edi + 8], 0
xorps xmm0, xmm0
movups xmmword [edi + 0x1c], xmm0
mov dword [edi + 0x30], 0
mov dword [edi + 0x2c], 0
mov eax, dword [edi + 0x14]
test eax, eax
je 0x100c28e2
push eax
call fcn.100a4700
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x100c28f5
push eax
call fcn.100a4700
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x90], 0
mov edi, 0
mov dword [esi + 0xc4], eax
test eax, eax
jle 0x100c2962
mov ecx, dword [esi + 0xc4]
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
imul eax, eax, 0xc4
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], 0
mov dword [esi + 0x458], 6
push eax
call fcn.100a46d0
add esp, 4
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
mov dword [esi + 0x38], edi
mov eax, ecx
mov dword [esi + 0xcc], ecx
jle 0x100c29ba
mov ecx, dword [esi + 0xcc]
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
shl eax, 3
lea eax, [eax + eax*2]
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.100a46d0
mov edi, dword [esi + 0x38]
add esp, 4
mov dword [esi + 0x90], eax
imul eax, dword [esi + 0xc4], 0xc4
push eax
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0xcc]
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
push 0
push dword [esi + 0x90]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x4c], 0
jle 0x100c3c66
xorps xmm0, xmm0
xor ecx, ecx
mov dword [esi + 0xc], ecx
imul ecx, ecx, 0xc4
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x54]
mov dword [esi + 0x60], edx
mov dword [esi + 0x70], ecx
mov dword [edi + ecx + 0xa0], 0xffffffff
mov eax, dword [eax + 0x34]
test eax, eax
jle 0x100c3c42
mov edi, dword [esi + 0x70]
mov ecx, dword [esi + 0x38]
add ecx, edi
mov dword [esi + 0x20], ecx
imul ecx, dword [esi + 0xc], 0x78
mov ebx, dword [esi + 0x60]
lea edx, [ebx + ecx]
mov dword [esi + 0xb0], edx
mov edx, dword [esi + 0x38]
lea edx, [edx + edi + 0xa0]
mov dword [esi + 0x10], edx
mov dword [esi + 0x5c], ecx
mov edx, dword [ebx + ecx + 0x74]
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x3c]
xor edi, edi
nop word cs:[eax + eax]
cmp edx, dword [ebx + edi*4]
je 0x100c2a80
inc edi
cmp edi, eax
jl 0x100c2a70
jmp 0x100c3c42
mov eax, dword [esi + 0x10]
mov dword [eax], edi
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x5c]
mov eax, dword [eax + edx + 0xc]
mov ecx, dword [esi + 0xb0]
mov ebx, dword [ecx]
movzx ecx, byte [ebx]
cmp ecx, 0x4e
jg 0x100c2ac0
test ecx, ecx
je 0x100c2aff
cmp ecx, 0x31
jne 0x100c2b84
cmp byte [ebx + 1], 0
mov ecx, 0xffffffff
jne 0x100c2b89
jmp 0x100c2b0a
cmp ecx, 0x4f
je 0x100c2b18
cmp ecx, 0x74
jne 0x100c2b84
movzx ecx, byte [ebx + 1]
cmp ecx, 0x72
je 0x100c2b31
cmp ecx, 0x74
je 0x100c2b4d
cmp ecx, 0x79
jne 0x100c2b84
cmp byte [ebx + 2], 0x70
mov ecx, 0xffffffff
jne 0x100c2b89
cmp byte [ebx + 3], 0x31
je 0x100c2b42
jmp 0x100c2b89
cmp byte [ebx + 1], 1
mov ecx, 0xffffffff
jne 0x100c2b89
cmp byte [ebx + 2], 0
jne 0x100c2b89
cmp byte [ebx + 3], 0
jne 0x100c2b89
jmp 0x100c2b42
cmp byte [ebx + 1], 0x54
mov ecx, 0xffffffff
jne 0x100c2b89
cmp byte [ebx + 2], 0x54
jne 0x100c2b89
cmp byte [ebx + 3], 0x4f
je 0x100c2b42
jmp 0x100c2b89
cmp byte [ebx + 2], 0x75
mov ecx, 0xffffffff
jne 0x100c2b89
cmp byte [ebx + 3], 0x65
jne 0x100c2b89
neg eax
mov ecx, 0
sbb ecx, ecx
jmp 0x100c2b89
cmp byte [ebx + 2], 0x63
jne 0x100c2b84
cmp byte [ebx + 3], 0x66
jne 0x100c2b84
mov ecx, dword [ebx + 4]
bswap ecx
cmp ecx, 0x20000
je 0x100c2b6e
cmp ecx, 0x10000
jne 0x100c2b84
mov ecx, dword [ebx + 8]
bswap ecx
cmp ecx, eax
mov ecx, 0xffffffff
jle 0x100c2b89
mov ecx, dword [ebx + eax*4 + 0xc]
bswap ecx
jmp 0x100c2b89
mov ecx, 0xffffffff
mov eax, dword [esi + 0x20]
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
movzx edx, byte [ebx + ecx + 4]
mov eax, edx
shl eax, 8
movzx edi, byte [ebx + ecx + 5]
mov dword [esi + 0x40], 0
or eax, edi
mov dword [esi + 0xb0], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], ecx
je 0x100c2c7a
add ecx, ebx
add ecx, 0x17
shl edi, 4
shl edx, 0xc
or edx, edi
xor edi, edi
jmp 0x100c2bf7
add edi, 0x10
cmp edx, edi
je 0x100c2c30
cmp byte [ecx + edi - 0xb], 0x63
jne 0x100c2bf0
cmp byte [ecx + edi - 0xa], 0x6d
jne 0x100c2bf0
cmp byte [ecx + edi - 9], 0x61
jne 0x100c2bf0
cmp byte [ecx + edi - 8], 0x70
jne 0x100c2bf0
mov edx, dword [esi + 0x14]
add edx, ebx
mov edx, dword [edi + edx + 0x14]
bswap edx
mov dword [esi + 0xb0], edx
jmp 0x100c2c46
mov dword [esi + 0xb0], 0
jmp 0x100c2c46
add ecx, 0x10
dec eax
je 0x100c2c70
cmp byte [ecx - 0xb], 0x6c
jne 0x100c2c40
cmp byte [ecx - 0xa], 0x6f
jne 0x100c2c40
cmp byte [ecx - 9], 0x63
jne 0x100c2c40
cmp byte [ecx - 8], 0x61
jne 0x100c2c40
mov eax, dword [ecx - 3]
bswap eax
mov dword [esi + 0x18], eax
jmp 0x100c2c77
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
mov dword [eax + 0x10], edx
movzx eax, byte [ebx + ecx + 4]
mov ecx, eax
shl ecx, 8
mov edx, dword [esi + 0x14]
movzx edx, byte [ebx + edx + 5]
or ecx, edx
mov ecx, dword [esi + 0x14]
je 0x100c2cfa
add ecx, ebx
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edx, edx
jmp 0x100c2cb7
add edx, 0x10
cmp eax, edx
je 0x100c2cf0
cmp byte [ecx + edx - 0xb], 0x68
jne 0x100c2cb0
cmp byte [ecx + edx - 0xa], 0x65
jne 0x100c2cb0
cmp byte [ecx + edx - 9], 0x61
jne 0x100c2cb0
cmp byte [ecx + edx - 8], 0x64
jne 0x100c2cb0
mov ecx, dword [esi + 0x14]
lea eax, [ebx + ecx]
mov eax, dword [edx + eax + 0x14]
bswap eax
mov dword [esi + 0x40], eax
jmp 0x100c2cfa
mov dword [esi + 0x40], 0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x40]
mov dword [eax + 0x14], edx
movzx eax, byte [ebx + ecx + 4]
mov edx, eax
shl edx, 8
movzx edi, byte [ebx + ecx + 5]
mov dword [esi + 8], 0
or edx, edi
mov edx, 0
je 0x100c2d72
lea edx, [ebx + ecx]
add edx, 0x17
shl edi, 4
shl eax, 0xc
or eax, edi
xor edi, edi
jmp 0x100c2d47
add edi, 0x10
cmp eax, edi
je 0x100c2d70
cmp byte [edx + edi - 0xb], 0x67
jne 0x100c2d40
cmp byte [edx + edi - 0xa], 0x6c
jne 0x100c2d40
cmp byte [edx + edi - 9], 0x79
jne 0x100c2d40
cmp byte [edx + edi - 8], 0x66
jne 0x100c2d40
lea eax, [ebx + ecx]
mov edx, dword [edi + eax + 0x14]
bswap edx
jmp 0x100c2d72
xor edx, edx
mov eax, dword [esi + 0x20]
mov dword [esi + 0xe4], edx
mov dword [eax + 0x18], edx
movzx eax, byte [ebx + ecx + 4]
mov edi, eax
shl edi, 8
movzx edx, byte [ebx + ecx + 5]
or edi, edx
je 0x100c2dfa
add ecx, ebx
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edi, edi
jmp 0x100c2db7
add edi, 0x10
cmp eax, edi
je 0x100c2df0
cmp byte [ecx + edi - 0xb], 0x68
jne 0x100c2db0
cmp byte [ecx + edi - 0xa], 0x68
jne 0x100c2db0
cmp byte [ecx + edi - 9], 0x65
jne 0x100c2db0
cmp byte [ecx + edi - 8], 0x61
jne 0x100c2db0
mov ecx, dword [esi + 0x14]
lea eax, [ebx + ecx]
mov eax, dword [edi + eax + 0x14]
bswap eax
mov dword [esi + 8], eax
jmp 0x100c2dfa
mov dword [esi + 8], 0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 8]
mov dword [eax + 0x1c], edx
mov edi, ebx
movzx ebx, byte [ebx + ecx + 4]
mov eax, ebx
shl eax, 8
movzx edx, byte [edi + ecx + 5]
or eax, edx
mov eax, 0
mov dword [esi + 0xd0], edi
je 0x100c2e82
mov eax, dword [esi + 0xd0]
add eax, ecx
add eax, 0x17
shl edx, 4
shl ebx, 0xc
or ebx, edx
xor edx, edx
jmp 0x100c2e47
add edx, 0x10
cmp ebx, edx
je 0x100c2e80
cmp byte [eax + edx - 0xb], 0x68
jne 0x100c2e40
cmp byte [eax + edx - 0xa], 0x6d
jne 0x100c2e40
cmp byte [eax + edx - 9], 0x74
jne 0x100c2e40
cmp byte [eax + edx - 8], 0x78
jne 0x100c2e40
mov eax, dword [esi + 0xd0]
add eax, ecx
mov eax, dword [edx + eax + 0x14]
bswap eax
jmp 0x100c2e82
xor eax, eax
mov edx, eax
mov eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x3c], edx
mov dword [ecx + 0x20], edx
mov edx, dword [esi + 0xd0]
movzx ebx, byte [edx + eax + 4]
mov ecx, ebx
shl ecx, 8
movzx edx, byte [edx + eax + 5]
or ecx, edx
mov edi, 0
je 0x100c2f12
mov ecx, dword [esi + 0xd0]
lea edi, [ecx + eax]
add edi, 0x17
shl edx, 4
shl ebx, 0xc
or ebx, edx
xor edx, edx
jmp 0x100c2ed7
add edx, 0x10
cmp ebx, edx
je 0x100c2f10
cmp byte [edi + edx - 0xb], 0x6b
jne 0x100c2ed0
cmp byte [edi + edx - 0xa], 0x65
jne 0x100c2ed0
cmp byte [edi + edx - 9], 0x72
jne 0x100c2ed0
cmp byte [edi + edx - 8], 0x6e
jne 0x100c2ed0
mov ecx, dword [esi + 0xd0]
add ecx, eax
mov edi, dword [edx + ecx + 0x14]
bswap edi
jmp 0x100c2f12
xor edi, edi
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0x24], edi
mov ebx, dword [esi + 0xd0]
movzx edi, byte [ebx + eax + 4]
mov ecx, edi
shl ecx, 8
movzx edx, byte [ebx + eax + 5]
or ecx, edx
je 0x100c2f9a
add ebx, eax
add ebx, 0x17
shl edx, 4
shl edi, 0xc
or edi, edx
xor edx, edx
jmp 0x100c2f57
add edx, 0x10
cmp edi, edx
je 0x100c2f90
cmp byte [ebx + edx - 0xb], 0x47
jne 0x100c2f50
cmp byte [ebx + edx - 0xa], 0x50
jne 0x100c2f50
cmp byte [ebx + edx - 9], 0x4f
jne 0x100c2f50
cmp byte [ebx + edx - 8], 0x53
jne 0x100c2f50
mov ebx, dword [esi + 0xd0]
lea ecx, [ebx + eax]
mov edx, dword [edx + ecx + 0x14]
bswap edx
jmp 0x100c2f9c
xor edx, edx
mov ebx, dword [esi + 0xd0]
jmp 0x100c2f9c
xor edx, edx
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0x28], edx
cmp dword [esi + 0xb0], 0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
je 0x100c3c42
cmp dword [esi + 0x40], 0
je 0x100c3c42
cmp dword [esi + 8], 0
je 0x100c3c42
cmp dword [esi + 0x3c], 0
je 0x100c3c42
cmp dword [esi + 0xe4], 0
je 0x100c31a9
test eax, eax
je 0x100c3c42
mov edx, ecx
movzx ecx, byte [ebx + ecx + 4]
mov eax, ecx
shl eax, 8
movzx edi, byte [ebx + edx + 5]
or eax, edi
mov eax, 0xffff
je 0x100c3060
add edx, ebx
add edx, 0x17
shl edi, 4
shl ecx, 0xc
or ecx, edi
xor edi, edi
jmp 0x100c3027
add edi, 0x10
cmp ecx, edi
je 0x100c3060
cmp byte [edx + edi - 0xb], 0x6d
jne 0x100c3020
cmp byte [edx + edi - 0xa], 0x61
jne 0x100c3020
cmp byte [edx + edi - 9], 0x78
jne 0x100c3020
cmp byte [edx + edi - 8], 0x70
jne 0x100c3020
mov ecx, dword [esi + 0x14]
add ecx, ebx
mov ecx, dword [edi + ecx + 0x14]
bswap ecx
test ecx, ecx
je 0x100c3060
movzx eax, word [ebx + ecx + 4]
rol ax, 8
movzx eax, ax
nop
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0xb0]
movzx eax, word [ebx + eax + 2]
rol ax, 8
mov dword [ecx + 0x2c], 0
test ax, ax
je 0x100c3c42
movzx eax, ax
mov ecx, dword [esi + 0xb0]
add ecx, ebx
add ecx, 0xb
xor edx, edx
xor edi, edi
jmp 0x100c30b7
mov edx, dword [ecx + edi*8 - 3]
bswap edx
add edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x20]
mov dword [ebx + 0x2c], edx
inc edi
cmp eax, edi
je 0x100c30f0
movzx ebx, word [ecx + edi*8 - 7]
rol bx, 8
test bx, bx
je 0x100c30a0
movzx ebx, bx
cmp ebx, 3
jne 0x100c30b2
movzx ebx, word [ecx + edi*8 - 5]
rol bx, 8
cmp bx, 0xa
je 0x100c30a0
movzx ebx, bx
cmp ebx, 1
je 0x100c30a0
jmp 0x100c30b2
test edx, edx
mov edx, dword [esi + 0xd0]
je 0x100c3c42
mov ecx, dword [esi + 0x20]
mov eax, dword [ecx + 0x14]
movzx eax, word [edx + eax + 0x32]
rol ax, 8
movzx eax, ax
mov dword [ecx + 0x30], eax
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x5c]
mov eax, dword [eax + ecx + 0x30]
test eax, eax
mov ecx, 0x10146e90
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x38]
mov edi, dword [esi + 0x70]
mov dword [edx + edi + 0x9c], eax
cmp word [eax], 0
je 0x100c316a
mov edx, dword [esi + 0x38]
mov edi, dword [esi + 0x70]
add edx, edi
add edx, 0xa4
add eax, 4
movzx edi, word [eax - 2]
test edi, edi
je 0x100c316a
mov ebx, dword [edx]
cmp ebx, edi
cmovg edi, ebx
mov dword [edx], edi
cmp word [eax], 0
lea eax, [eax + 4]
jne 0x100c3150
lea eax, [ecx + ecx*2]
mov edi, dword [esi + 0x90]
lea ecx, [edi + eax*8]
inc dword [ecx]
mov ebx, dword [esi + 0x38]
mov ecx, dword [esi + 0x70]
mov ecx, dword [ebx + ecx + 0xa4]
mov edx, dword [edi + eax*8 + 4]
cmp edx, ecx
cmovg ecx, edx
mov dword [edi + eax*8 + 4], ecx
mov edi, ebx
mov ecx, dword [esi + 0xc]
inc ecx
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 0x4c]
jl 0x100c2a03
jmp 0x100c3c66
mov dword [esi + 0x16c], 2
mov dword [esi + 0xe8], 0
mov dword [esi + 0x110], 0
mov dword [esi + 0x10c], 0
movzx eax, byte [ebx + ecx + 4]
mov edx, ecx
mov ecx, eax
shl ecx, 8
movzx edx, byte [ebx + edx + 5]
or ecx, edx
je 0x100c3c42
mov ecx, dword [esi + 0x14]
add ecx, ebx
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edx, edx
jmp 0x100c320b
add edx, 0x10
cmp eax, edx
je 0x100c3c42
cmp byte [ecx + edx - 0xb], 0x43
jne 0x100c3200
cmp byte [ecx + edx - 0xa], 0x46
jne 0x100c3200
cmp byte [ecx + edx - 9], 0x46
jne 0x100c3200
cmp byte [ecx + edx - 8], 0x20
jne 0x100c3200
mov eax, dword [esi + 0x14]
add eax, ebx
mov eax, dword [edx + eax + 0x14]
bswap eax
test eax, eax
je 0x100c3c42
lea edi, [ebx + eax]
mov ecx, dword [esi + 0x20]
movups xmmword [ecx + 0x64], xmm0
mov dword [ecx + 0x78], 0
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x34], edi
mov dword [ecx + 0x38], 0
mov dword [ecx + 0x3c], 0x20000000
movzx eax, byte [ebx + eax + 2]
movzx edx, word [eax + edi]
rol dx, 8
mov dword [esi + 0x18], edi
movzx ecx, byte [eax + edi + 2]
movzx ebx, cl
test dx, dx
je 0x100c32b0
movzx edx, dx
imul edx, ebx
add eax, edx
add eax, 3
test cl, cl
je 0x100c32be
xor edx, edx
cmp cl, 1
mov dword [esi + 0x40], ebx
jne 0x100c32c8
mov ecx, dword [esi + 0x18]
test byte [esi + 0x40], 1
je 0x100c3320
cmp eax, 0x1fffffff
jg 0x100c3313
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100c3315
add eax, 2
shl ebx, 8
mov ecx, dword [esi + 0x18]
jmp 0x100c3346
mov edx, 0xffffffff
mov ecx, dword [esi + 0x18]
jmp 0x100c3321
mov edi, ebx
and edi, 0xfffffffe
xor edx, edx
mov ecx, dword [esi + 0x18]
jmp 0x100c32f1
movzx ecx, byte [ecx + eax]
inc eax
movzx ebx, bl
shl edx, 0x10
shl ebx, 8
or ebx, edx
movzx edx, cl
or edx, ebx
add edi, 0xfffffffe
mov ecx, dword [esi + 0x18]
je 0x100c329c
cmp eax, 0x1fffffff
jg 0x100c3306
movzx ebx, byte [ecx + eax]
inc eax
cmp eax, 0x1fffffff
jle 0x100c32d4
jmp 0x100c330f
xor ebx, ebx
cmp eax, 0x1fffffff
jle 0x100c32d4
xor ecx, ecx
jmp 0x100c32d9
xor ecx, ecx
shl edx, 8
movzx ecx, cl
or edx, ecx
mov ecx, dword [esi + 0x18]
dec edx
add eax, edx
mov edi, 0x20000000
xor edx, edx
cmp eax, 0x1fffffff
ja 0x100c3353
movzx ebx, byte [ecx + eax]
shl ebx, 8
mov dword [esi + 0x40], 0x1fffffff
cmp eax, 0x1fffffff
je 0x100c335c
lea edi, [eax + 2]
movzx edx, byte [eax + ecx + 1]
mov dword [esi + 0x40], eax
jmp 0x100c335c
xor ebx, ebx
mov dword [esi + 0x40], 0x20000000
or ebx, edx
je 0x100c3424
mov edx, 0xffffffff
mov eax, 0x20000000
cmp edi, 0x1fffffff
ja 0x100c3410
movzx eax, byte [ecx + edi]
mov dword [esi + 0x3c], eax
imul ebx, eax
lea eax, [edi + ebx]
inc eax
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x100c3410
xor edx, edx
cmp cl, 1
jne 0x100c33ba
test byte [esi + 0x3c], 1
je 0x100c340f
cmp eax, 0x1fffffff
jg 0x100c3405
mov ecx, dword [esi + 0x18]
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100c3407
and ecx, 0xfffffffe
xor edx, edx
jmp 0x100c33df
mov edi, dword [esi + 0x18]
movzx ebx, byte [edi + eax]
inc eax
movzx edi, byte [esi + 8]
shl edx, 0x10
shl edi, 8
or edi, edx
movzx edx, bl
or edx, edi
add ecx, 0xfffffffe
je 0x100c33a3
cmp eax, 0x1fffffff
jg 0x100c33f3
mov edi, dword [esi + 0x18]
movzx ebx, byte [edi + eax]
mov dword [esi + 8], ebx
inc eax
jmp 0x100c33fa
mov dword [esi + 8], 0
cmp eax, 0x1fffffff
jle 0x100c33c1
xor ebx, ebx
jmp 0x100c33c9
xor ecx, ecx
shl edx, 8
movzx ecx, cl
or edx, ecx
dec edx
add eax, edx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov edi, eax
mov ecx, dword [esi + 0x18]
mov ebx, edi
mov edx, dword [esi + 0x40]
sub ebx, edx
mov eax, ebx
or eax, edx
mov dword [esi + 0xc8], edi
js 0x100c3452
add edx, ecx
mov eax, 0
test ebx, ebx
cmovs eax, ebx
mov dword [esi + 0x40], edx
jle 0x100c3468
movzx ecx, byte [edx + eax]
inc eax
shl ecx, 8
jmp 0x100c346a
xor ecx, ecx
xor ebx, ebx
mov dword [esi + 0x40], 0
xor edi, edi
xor edx, edx
xor eax, eax
jmp 0x100c35d4
xor ecx, ecx
cmp eax, ebx
jge 0x100c3478
mov edx, dword [esi + 0x40]
movzx edi, byte [edx + eax]
inc eax
jmp 0x100c347a
xor edi, edi
or edi, ecx
xor edx, edx
cmp eax, ebx
mov ecx, edi
jge 0x100c34fc
mov dword [esi + 0xe0], ecx
mov ecx, dword [esi + 0x40]
movzx edi, byte [ecx + eax]
test edi, edi
je 0x100c3505
lea ecx, [eax + 1]
cmp eax, 0xffffffff
cmovl ecx, ebx
mov eax, edi
dec eax
mov dword [esi + 0xe4], eax
mov dword [esi + 8], ebx
mov dword [esi + 0x1c], edi
je 0x100c3514
mov eax, edi
and eax, 0xfffffffe
xor edx, edx
jmp 0x100c34d9
mov edi, dword [esi + 0x40]
movzx ebx, byte [edi + ecx]
inc ecx
movzx edi, byte [esi + 0x3c]
shl edx, 0x10
shl edi, 8
or edi, edx
movzx edx, bl
or edx, edi
add eax, 0xfffffffe
mov ebx, dword [esi + 8]
je 0x100c3516
cmp ecx, ebx
jge 0x100c34ed
mov edi, dword [esi + 0x40]
movzx ebx, byte [edi + ecx]
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 8]
inc ecx
jmp 0x100c34f4
mov dword [esi + 0x3c], 0
cmp ecx, ebx
jl 0x100c34b8
xor ebx, ebx
jmp 0x100c34c0
xor edi, edi
xor eax, eax
jmp 0x100c35d4
xor edi, edi
xor eax, eax
mov ecx, dword [esi + 0xe0]
jmp 0x100c35d4
xor edx, edx
mov eax, dword [esi + 0x1c]
test al, 1
je 0x100c3538
cmp ecx, ebx
jge 0x100c352b
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + ecx]
inc ecx
jmp 0x100c352d
xor eax, eax
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x3c], ecx
cmp dword [esi + 0xe4], 0
je 0x100c35a9
mov edi, eax
and edi, 0xfffffffe
xor eax, eax
jmp 0x100c3588
mov dword [esi + 0xe4], ecx
mov ecx, dword [esi + 0x40]
movzx ecx, byte [ecx + ebx]
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xe4]
inc ebx
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 0x8c]
movzx ecx, cl
shl eax, 0x10
shl ecx, 8
or ecx, eax
movzx eax, bl
or eax, ecx
add edi, 0xfffffffe
mov ebx, dword [esi + 8]
je 0x100c35ab
mov ecx, ebx
mov ebx, dword [esi + 0x3c]
cmp ebx, ecx
mov ecx, dword [esi + 0x40]
jge 0x100c359b
movzx ecx, byte [ecx + ebx]
inc ebx
jmp 0x100c359d
xor ecx, ecx
cmp ebx, dword [esi + 8]
jl 0x100c354d
mov dword [esi + 0x3c], ebx
xor ebx, ebx
jmp 0x100c3570
xor eax, eax
test byte [esi + 0x1c], 1
je 0x100c35cb
mov edi, dword [esi + 0x3c]
cmp edi, ebx
jge 0x100c35c1
mov ecx, dword [esi + 0x40]
movzx ecx, byte [ecx + edi]
jmp 0x100c35c3
xor ecx, ecx
shl eax, 8
movzx ecx, cl
or eax, ecx
mov ecx, dword [esi + 0xe0]
mov edi, dword [esi + 0x1c]
sub eax, edx
inc ecx
imul ecx, edi
add ecx, edx
add ecx, 2
mov edx, eax
or edx, ecx
js 0x100c3608
sub ebx, ecx
setl dl
cmp ebx, eax
setl dh
mov edi, dword [esi + 0x40]
add edi, ecx
or dh, dl
test dh, dh
mov ecx, 0
cmovne eax, ecx
cmovne edi, ecx
mov ecx, dword [esi + 0x18]
jmp 0x100c360f
xor eax, eax
mov ecx, dword [esi + 0x18]
xor edi, edi
mov dword [esi + 0x208], edi
mov dword [esi + 0x20c], 0
mov dword [esi + 0x210], eax
xor ebx, ebx
mov edx, dword [esi + 0xc8]
cmp edx, 0x1fffffff
jg 0x100c3652
movzx eax, byte [ecx + edx]
jne 0x100c365b
mov edx, 0xffffffff
mov ecx, 0x20000000
test al, al
jne 0x100c372a
jmp 0x100c3762
xor edi, edi
mov ecx, edx
jmp 0x100c3773
mov edi, edx
mov edx, ecx
movzx ecx, al
shl ecx, 8
movzx eax, byte [edi + edx + 1]
or eax, ecx
mov edx, edi
je 0x100c36d4
mov edi, edx
mov edx, 0xffffffff
mov ecx, 0x20000000
cmp edi, 0x1ffffffd
jg 0x100c372a
mov ecx, dword [esi + 0x18]
movzx ecx, byte [ecx + edi + 2]
mov dword [esi + 0x40], ecx
imul eax, ecx
lea ecx, [edi + eax]
add ecx, 3
cmp ecx, 0x20000000
mov eax, 0x20000000
cmovae ecx, eax
mov eax, dword [esi + 0x40]
test eax, eax
je 0x100c372a
xor edx, edx
cmp al, 1
jne 0x100c36d9
test byte [esi + 0x40], 1
mov ebx, 0
je 0x100c3729
cmp ecx, 0x1fffffff
jg 0x100c371f
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + ecx]
inc ecx
jmp 0x100c3721
add edx, 2
jmp 0x100c373c
mov edi, eax
and edi, 0xfffffffe
xor edx, edx
jmp 0x100c36ff
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + ecx]
inc ecx
movzx ebx, bl
shl edx, 0x10
shl ebx, 8
or ebx, edx
movzx edx, al
or edx, ebx
add edi, 0xfffffffe
je 0x100c36b7
cmp ecx, 0x1fffffff
jg 0x100c3711
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + ecx]
inc ecx
jmp 0x100c3713
xor ebx, ebx
cmp ecx, 0x1fffffff
jle 0x100c36e2
xor eax, eax
jmp 0x100c36ea
xor eax, eax
shl edx, 8
movzx eax, al
or edx, eax
dec edx
add ecx, edx
cmp ecx, 0x20000000
mov eax, 0x20000000
cmovae ecx, eax
mov edx, ecx
mov ecx, 0x20000000
cmp edx, 0x1fffffff
jg 0x100c3762
mov eax, dword [esi + 0x18]
movzx edi, byte [eax + edx]
shl edi, 8
cmp edx, 0x1fffffff
jne 0x100c376b
mov edx, 0x1fffffff
jmp 0x100c3773
mov edx, 0x20000000
xor edi, edi
jmp 0x100c3773
lea ecx, [edx + 2]
movzx ebx, byte [edx + eax + 1]
or edi, ebx
je 0x100c3846
mov dword [esi + 0xc8], edx
mov edx, 0xffffffff
mov eax, 0x20000000
cmp ecx, 0x1fffffff
jg 0x100c382f
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + ecx]
imul edi, ebx
lea eax, [ecx + edi]
inc eax
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
test ebx, ebx
je 0x100c382f
mov ecx, ebx
xor edx, edx
cmp cl, 1
mov dword [esi + 8], ebx
jne 0x100c37d9
test byte [esi + 8], 1
je 0x100c382e
cmp eax, 0x1fffffff
jg 0x100c3824
mov ecx, dword [esi + 0x18]
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100c3826
and ecx, 0xfffffffe
xor edx, edx
jmp 0x100c37fe
mov edi, dword [esi + 0x18]
movzx ebx, byte [edi + eax]
inc eax
movzx edi, byte [esi + 0x40]
shl edx, 0x10
shl edi, 8
or edi, edx
movzx edx, bl
or edx, edi
add ecx, 0xfffffffe
je 0x100c37c2
cmp eax, 0x1fffffff
jg 0x100c3812
mov edi, dword [esi + 0x18]
movzx ebx, byte [edi + eax]
mov dword [esi + 0x40], ebx
inc eax
jmp 0x100c3819
mov dword [esi + 0x40], 0
cmp eax, 0x1fffffff
jle 0x100c37e0
xor ebx, ebx
jmp 0x100c37e8
xor ecx, ecx
shl edx, 8
movzx ecx, cl
or edx, ecx
dec edx
add eax, edx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ecx, eax
mov edx, dword [esi + 0xc8]
mov eax, ecx
sub eax, edx
mov edi, edx
mov edx, eax
or edx, edi
js 0x100c3878
cmp edi, 0x20000001
setge dl
cmp ecx, 0x20000001
setge cl
or cl, dl
add edi, dword [esi + 0x18]
test cl, cl
mov ecx, 0
cmovne eax, ecx
cmovne edi, ecx
jmp 0x100c387c
xor eax, eax
xor edi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebx + 0x4c], edi
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], eax
lea edi, [esi + 0x208]
mov ecx, edi
mov edx, 0x11
lea eax, [esi + 0xe8]
push eax
push 1
call fcn.100cb310
add esp, 8
mov ecx, edi
mov edx, 0x106
lea eax, [esi + 0x16c]
push eax
push 1
call fcn.100cb310
add esp, 8
mov ecx, edi
mov edx, 0x124
lea eax, [esi + 0x110]
push eax
push 1
call fcn.100cb310
add esp, 8
mov ecx, edi
mov edx, 0x125
lea eax, [esi + 0x10c]
push eax
push 1
call fcn.100cb310
add esp, 8
lea ecx, [esi + 0x130]
mov edx, dword [esi + 0x18]
push dword [esi + 0x210]
push dword [esi + 0x20c]
push dword [esi + 0x208]
push 0x20000000
call fcn.100cb4b0
add esp, 0x10
mov eax, dword [esi + 0x138]
mov dword [ebx + 0x60], eax
movsd xmm0, qword [esi + 0x130]
movsd qword [ebx + 0x58], xmm0
cmp dword [esi + 0x16c], 2
xorps xmm0, xmm0
mov ebx, dword [esi + 0xd0]
jne 0x100c3c42
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x40], eax
test eax, eax
je 0x100c3c42
mov edi, dword [esi + 0x110]
test edi, edi
je 0x100c3af1
mov eax, dword [esi + 0x10c]
test eax, eax
je 0x100c3c42
mov dword [esi + 0x3c], eax
xor edx, edx
mov eax, 0
cmp edi, 0x20000000
mov ecx, 0x20000000
cmovae edi, ecx
mov dword [esi + 8], edi
mov ecx, dword [esi + 0x18]
jae 0x100c39b1
mov eax, dword [esi + 8]
lea edi, [eax + 1]
movzx eax, byte [ecx + eax]
shl eax, 8
cmp edi, 0x1fffffff
jbe 0x100c39b9
or edx, eax
jne 0x100c39c6
jmp 0x100c3a82
cmp edi, 0x1fffffff
ja 0x100c39a8
movzx edx, byte [ecx + edi]
inc edi
or edx, eax
je 0x100c3a82
mov ecx, 0xffffffff
mov eax, 0x20000000
cmp edi, 0x1fffffff
ja 0x100c3a71
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + edi]
imul edx, ebx
lea eax, [edi + edx]
inc eax
cmp eax, 0x20000000
mov edx, 0x20000000
cmovae eax, edx
test ebx, ebx
je 0x100c3a71
xor ecx, ecx
cmp bl, 1
mov dword [esi + 0xe4], ebx
jne 0x100c3a22
test byte [esi + 0xe4], 1
je 0x100c3a70
cmp eax, 0x1fffffff
jg 0x100c3a66
mov edx, dword [esi + 0x18]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100c3a68
mov edi, ebx
and edi, 0xfffffffe
xor ecx, ecx
jmp 0x100c3a48
mov edx, dword [esi + 0x18]
movzx edx, byte [edx + eax]
inc eax
movzx ebx, bl
shl ecx, 0x10
shl ebx, 8
or ebx, ecx
movzx ecx, dl
or ecx, ebx
add edi, 0xfffffffe
je 0x100c3a08
cmp eax, 0x1fffffff
jg 0x100c3a59
mov edx, dword [esi + 0x18]
movzx ebx, byte [edx + eax]
inc eax
jmp 0x100c3a5b
xor ebx, ebx
cmp eax, 0x1fffffff
jle 0x100c3a2b
xor edx, edx
jmp 0x100c3a33
xor edx, edx
shl ecx, 8
movzx edx, dl
or ecx, edx
dec ecx
add eax, ecx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov edi, eax
mov ecx, edi
mov edx, dword [esi + 8]
sub ecx, edx
add edx, dword [esi + 0x18]
cmp edi, 0x20000001
mov eax, ecx
mov edi, 0
cmovae eax, edi
cmovae edx, edi
test ecx, ecx
cmovs eax, edi
cmovs edx, edi
mov ebx, dword [esi + 0x20]
mov dword [ebx + 0x64], edx
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x6c], eax
mov eax, 0x20000000
mov edx, dword [esi + 0x3c]
sub eax, edx
mov ecx, eax
or ecx, edx
sets cl
cmp edx, 0x20000001
setge ch
or ch, cl
add edx, dword [esi + 0x18]
test ch, ch
cmovne edx, edi
mov dword [ebx + 0x70], edx
cmovne eax, edi
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x78], eax
mov ebx, dword [esi + 0xd0]
xor edx, edx
mov eax, 0
mov edi, dword [esi + 0x40]
cmp edi, 0x20000000
mov ecx, 0x20000000
cmovae edi, ecx
mov dword [esi + 0x40], edi
mov ecx, dword [esi + 0x18]
jae 0x100c3b2f
mov eax, dword [esi + 0x40]
lea edi, [eax + 1]
movzx eax, byte [ecx + eax]
shl eax, 8
cmp edi, 0x1fffffff
jbe 0x100c3b37
or edx, eax
jne 0x100c3b44
jmp 0x100c3c03
cmp edi, 0x1fffffff
ja 0x100c3b26
movzx edx, byte [ecx + edi]
inc edi
or edx, eax
je 0x100c3c03
mov ecx, 0xffffffff
mov eax, 0x20000000
cmp edi, 0x1fffffff
ja 0x100c3bf2
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + edi]
mov dword [esi + 8], eax
imul edx, eax
lea eax, [edi + edx]
inc eax
cmp eax, 0x20000000
mov edx, 0x20000000
cmovae eax, edx
mov edx, dword [esi + 8]
test edx, edx
je 0x100c3bf2
xor ecx, ecx
cmp dl, 1
jne 0x100c3b9d
test byte [esi + 8], 1
je 0x100c3bf1
cmp eax, 0x1fffffff
jg 0x100c3be7
mov edx, dword [esi + 0x18]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100c3be9
mov edi, edx
and edi, 0xfffffffe
xor ecx, ecx
jmp 0x100c3bc9
mov ebx, dword [esi + 0x18]
movzx ebx, byte [ebx + eax]
inc eax
movzx edx, dl
shl ecx, 0x10
shl edx, 8
or edx, ecx
movzx ecx, bl
or ecx, edx
add edi, 0xfffffffe
mov ebx, dword [esi + 0xd0]
je 0x100c3b86
cmp eax, 0x1fffffff
jg 0x100c3bda
mov edx, dword [esi + 0x18]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100c3bdc
xor edx, edx
cmp eax, 0x1fffffff
jle 0x100c3ba6
xor ebx, ebx
jmp 0x100c3bae
xor edx, edx
shl ecx, 8
movzx edx, dl
or ecx, edx
dec ecx
add eax, ecx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov edi, eax
mov ecx, edi
mov eax, dword [esi + 0x40]
sub ecx, eax
mov edx, dword [esi + 0x18]
add edx, eax
cmp edi, 0x20000001
mov eax, ecx
mov edi, 0
cmovae eax, edi
cmovae edx, edi
test ecx, ecx
cmovs edx, edi
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0x40], edx
cmovs eax, edi
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x48], eax
mov ecx, dword [esi + 0x14]
jmp 0x100c2fe8
mov eax, dword [esi + 0x90]
test eax, eax
je 0x100c3c5f
mov dword [esi + 0x458], 4
push eax
call fcn.100a4700
add esp, 4
xor eax, eax
jmp 0x100c809d
add eax, 0x1c
mov dword [esi + 0x1b0], eax
xor eax, eax
mov dword [esi + 0x40], 0
jmp 0x100c3c86
mov edi, ebx
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc4]
jge 0x100c3fc4
mov dword [esi + 8], eax
imul eax, eax, 0xc4
mov ebx, dword [edi + eax + 0xa0]
mov edx, dword [edi + eax + 0xa4]
lea ecx, [edi + eax]
add ecx, 0xac
add edx, 0x20
sar edx, 5
mov dword [esi + 0xc], eax
mov eax, dword [edi + eax + 0xb0]
mov dword [esi + 0x20], edx
cmp eax, edx
mov dword [esi + 0x70], ecx
mov dword [esi + 0xb0], ebx
jge 0x100c3cf0
test eax, eax
je 0x100c3cf8
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
mov dword [esi + 0x458], 6
jmp 0x100c3cfd
mov edx, dword [ecx + 8]
jmp 0x100c3d92
mov ecx, 8
mov eax, dword [esi + 0x20]
cmp ecx, eax
cmovle ecx, eax
mov dword [esi + 0x14], ecx
lea eax, [ecx*4]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.100a46d0
mov edi, dword [esi + 0x38]
add esp, 4
mov ecx, dword [esi + 0x70]
mov edx, eax
mov eax, dword [ecx + 8]
test eax, eax
je 0x100c3d89
mov ecx, dword [esi + 0x70]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push eax
push edx
mov dword [esi + 0xd0], edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
push eax
call fcn.100a4700
mov edx, dword [esi + 0xd0]
mov ecx, dword [esi + 0x70]
mov edi, dword [esi + 0x38]
add esp, 4
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x20]
mov dword [ecx], eax
shl eax, 2
push eax
push 0
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0xb0]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x90]
lea edx, [eax + ecx*8]
add edx, 0xc
mov dword [esi + 0x20], ecx
cmp dword [eax + ecx*8 + 0xc], 0
mov dword [esi + 0x14], edx
jne 0x100c3ebd
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x20]
mov ecx, dword [eax + ecx*8 + 4]
add ecx, 0x20
sar ecx, 5
mov eax, dword [edx + 4]
cmp eax, ecx
jge 0x100c3e01
test eax, eax
je 0x100c3e09
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
add edx, eax
mov dword [esi + 0x458], 6
jmp 0x100c3e0e
mov ebx, dword [edx + 8]
jmp 0x100c3ea9
mov edx, 8
cmp edx, ecx
mov dword [esi + 0xb0], ecx
cmovle edx, ecx
mov dword [esi + 0xd0], edx
lea eax, [edx*4]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.100a46d0
mov edi, dword [esi + 0x38]
add esp, 4
mov edx, dword [esi + 0x14]
mov ebx, eax
mov eax, dword [edx + 8]
test eax, eax
je 0x100c3e97
mov ecx, dword [edx]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
push eax
mov dword [esi + 0x60], ebx
call fcn.100a4700
mov ebx, dword [esi + 0x60]
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x38]
add esp, 4
mov dword [edx + 8], ebx
mov eax, dword [esi + 0xd0]
mov dword [edx + 4], eax
mov ecx, dword [esi + 0xb0]
mov dword [edx], ecx
shl ecx, 2
push ecx
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esi + 0x14]
add esp, 0xc
mov ebx, dword [esi + 0xc]
mov eax, dword [edi + ebx + 0x9c]
mov dword [esi + 0x60], eax
movzx eax, word [eax]
test ax, ax
je 0x100c3c82
lea ecx, [edi + ebx]
mov dword [esi + 0xd0], ecx
lea ecx, [edi + ebx]
add ecx, 0xa8
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x90]
mov ebx, edi
mov edi, dword [esi + 0x20]
lea ecx, [ecx + edi*8 + 8]
mov edi, ebx
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x60]
jmp 0x100c3f26
mov ecx, dword [esi + 0x60]
movzx eax, word [ecx + 4]
add ecx, 4
test ax, ax
mov edi, dword [esi + 0x38]
je 0x100c3c82
mov ebx, edi
movzx edi, word [ecx + 2]
test di, di
je 0x100c3c80
mov dword [esi + 0x60], ecx
cmp ax, di
ja 0x100c3f10
movzx ebx, ax
jmp 0x100c3f60
mov edx, dword [esi + 0x14]
nop word cs:[eax + eax]
movzx edi, word [esi + 0x20]
lea eax, [ebx + 1]
movzx ecx, di
cmp ebx, ecx
mov ebx, eax
jae 0x100c3f10
mov word [esi + 0x20], di
mov eax, dword [edx + 8]
mov edi, 1
mov ecx, ebx
shl edi, cl
mov ecx, edi
mov edi, ebx
shr edi, 5
mov eax, dword [eax + edi*4]
bt eax, ebx
jb 0x100c3f50
mov dword [esi + 0xb0], ecx
mov ecx, dword [esi + 0xd0]
mov edx, ebx
call fcn.100c85e0
test eax, eax
je 0x100c3f42
mov eax, dword [esi + 0xc]
inc dword [eax]
mov eax, dword [esi + 0x18]
inc dword [eax]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0xb0]
or dword [eax + edi*4], ecx
mov edx, dword [esi + 0x14]
mov eax, dword [edx + 8]
or dword [eax + edi*4], ecx
inc dword [esi + 0x40]
mov eax, dword [esi + 0x60]
movzx edi, word [eax + 2]
jmp 0x100c3f54
xor ecx, ecx
jmp 0x100c4026
mov eax, dword [esi + 0x5c]
mov edx, dword [eax + 8]
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
test edx, edx
je 0x100c4025
mov eax, dword [esi + 0x5c]
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0x90]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push edx
call fcn.100a4700
mov edi, dword [esi + 0x38]
add esp, 4
mov eax, dword [esi + 0x5c]
mov dword [eax + 8], 0
mov ecx, dword [esi + 0x3c]
inc ecx
cmp ecx, dword [esi + 0xc4]
jge 0x100c4280
imul ebx, ecx, 0xc4
lea edx, [edi + ebx]
add edx, 0xb8
mov eax, dword [edi + ebx + 0xa8]
cmp dword [edi + ebx + 0xbc], eax
mov dword [esi + 0x3c], ecx
mov dword [esi + 0xc], edx
jge 0x100c4106
mov dword [esi + 0xb0], eax
lea eax, [eax*4]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
mov dword [esi + 0x20], ebx
call fcn.100a46d0
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x38]
add esp, 4
lea ecx, [edi + ebx]
add ecx, 0xc0
mov edx, dword [edi + ebx + 0xc0]
test edx, edx
je 0x100c40f5
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push edx
push eax
mov dword [esi + 0xd0], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
push eax
call fcn.100a4700
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0xd0]
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x38]
add esp, 4
mov dword [ecx], eax
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0xb0]
mov dword [edx + 4], eax
mov ecx, dword [esi + 0x3c]
lea eax, [edi + ebx]
add eax, 0xac
mov dword [esi + 0x5c], eax
mov eax, dword [edi + ebx + 0xac]
mov dword [esi + 0x20], eax
mov eax, dword [edi + ebx + 0xb4]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x20], 0
jle 0x100c4270
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x20]
lea eax, [ecx + eax*4]
mov dword [esi + 8], eax
lea eax, [edi + ebx]
add eax, 0xc0
mov dword [esi + 0x14], eax
mov eax, ecx
jmp 0x100c415c
add eax, 4
cmp eax, dword [esi + 8]
jae 0x100c3fd0
mov edi, dword [eax]
mov dword [esi + 0xb0], edi
test edi, edi
je 0x100c4150
mov edi, eax
sub edi, dword [esi + 0x10]
shl edi, 3
mov dword [esi + 0x60], edi
xor edi, edi
mov dword [esi + 0xd0], eax
jmp 0x100c419b
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
mov eax, dword [esi + 0x60]
add eax, edi
mov dword [ecx + ebx*4], eax
inc dword [edx]
mov eax, dword [esi + 0xd0]
inc edi
cmp edi, 0x20
je 0x100c4150
mov dword [esi + 0x20], edi
mov edi, dword [esi + 0xb0]
mov ebx, dword [esi + 0x20]
bt edi, ebx
mov edi, dword [esi + 0x20]
jae 0x100c4195
mov ebx, dword [edx]
cmp ebx, dword [edx + 4]
jne 0x100c4180
test ebx, ebx
je 0x100c41d1
mov eax, ebx
shr eax, 0x1f
add eax, ebx
sar eax, 1
add eax, ebx
mov dword [esi + 0x458], 6
jmp 0x100c41d6
mov eax, 8
mov edx, dword [esi + 0x38]
inc ebx
cmp eax, ebx
cmovg ebx, eax
mov dword [esi + 0x70], ebx
lea eax, [ebx*4]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edx
mov dword [esi + 0x458], 6
push eax
call fcn.100a46d0
mov ebx, dword [esi + 0x38]
add esp, 4
mov edi, dword [esi + 0x14]
mov edx, dword [edi]
test edx, edx
je 0x100c4253
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push edx
push eax
mov dword [esi + 0x18], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
push eax
call fcn.100a4700
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x14]
add esp, 4
mov dword [edi], eax
mov ecx, eax
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x70]
mov dword [edx + 4], eax
mov ebx, dword [edx]
mov edi, dword [esi + 0x20]
jmp 0x100c4185
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x100c3fe0
jmp 0x100c4025
xor edx, edx
jmp 0x100c42a1
mov eax, dword [esi + 0xb0]
mov dword [eax + 8], 0
mov edx, dword [esi + 0x20]
inc edx
cmp edx, dword [esi + 0xcc]
jge 0x100c4300
lea ecx, [edx + edx*2]
mov eax, dword [esi + 0x90]
mov eax, dword [eax + ecx*8 + 0x14]
test eax, eax
je 0x100c42a0
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
lea ecx, [edx + ecx*8]
add ecx, 0xc
mov dword [ecx + 4], 0
mov dword [esi + 0xb0], ecx
mov dword [ecx], 0
mov dword [esi + 0xa8], edx
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.100a4700
mov edi, dword [esi + 0x38]
add esp, 4
jmp 0x100c4290
cmp dword [esi + 0x90], 0
je 0x100c432e
mov eax, dword [esi + 0x90]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.100a4700
add esp, 4
mov dword [esi + 0x134], 0
mov dword [esi + 0x130], 0
mov dword [esi + 0x138], 0
mov dword [esi + 0x170], 0
mov dword [esi + 0x16c], 0
mov dword [esi + 0x174], 0
mov ecx, dword [esi + 0x40]
test ecx, ecx
jle 0x100c43e3
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
mov dword [esi + 0x20], eax
shl eax, 4
mov dword [esi + 0x458], 7
push eax
mov dword [esi + 0x40], ecx
call fcn.100a46d0
add esp, 4
mov dword [esi + 0x138], eax
mov edx, dword [esi + 0x20]
mov dword [esi + 0x134], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x130], ecx
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
push ecx
mov dword [esi + 0xb0], eax
call fcn.100a46d0
mov edx, dword [esi + 0xb0]
add esp, 4
mov ebx, eax
mov dword [esi + 0x174], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x170], eax
mov edi, dword [esi + 0x40]
jmp 0x100c43ef
mov dword [esi + 0x130], ecx
mov edi, ecx
xor ebx, ebx
xor edx, edx
mov dword [esi + 0x16c], edi
mov eax, edi
shl eax, 4
push eax
push 0
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [edi + edi*8]
lea eax, [eax + eax*2]
add eax, edi
push eax
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp dword [esi + 0xc4], 0
jle 0x100c46ba
xor ecx, ecx
mov dword [esi + 0x18], 0
mov dword [esi + 0x40], 0
xor edx, edx
mov ebx, dword [esi + 0x38]
jmp 0x100c4450
mov edx, dword [esi + 0xc]
inc edx
cmp edx, dword [esi + 0xc4]
je 0x100c46bc
imul eax, edx, 0xc4
mov edi, dword [ebx + eax + 0xa8]
test edi, edi
je 0x100c4443
mov dword [esi + 0xd0], edi
mov dword [esi + 0xb0], ecx
mov ecx, dword [esi + 0x18]
shl ecx, 4
add ecx, dword [esi + 0x138]
mov dword [ebx + eax + 0x94], ecx
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x40]
lea ecx, [edx + edx*8]
lea edi, [ecx + ecx*2]
add edi, edx
add edi, dword [esi + 0x174]
mov dword [ebx + eax + 0x98], edi
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x54]
mov dword [esi + 0x60], ecx
imul edx, dword [esi + 0xc], 0x78
movss xmm0, dword [ecx + edx + 0x10]
movss dword [ebx + eax + 0x7c], xmm0
mov dword [ebx + eax + 0x80], 0
mov ecx, dword [ebx + eax + 0xb8]
mov dword [esi + 0x20], ecx
mov ecx, dword [ebx + eax + 0xc0]
mov dword [ebx + eax + 0x84], ecx
mov ecx, dword [esi + 0x20]
mov dword [ebx + eax + 0x88], ecx
mov dword [ebx + eax + 0x8c], edi
mov edi, dword [esi + 0x60]
movzx ecx, byte [edi + edx + 0x14]
mov byte [ebx + eax + 0x90], cl
movzx ecx, byte [edi + edx + 0x18]
mov byte [ebx + eax + 0x91], cl
mov dword [esi + 0x70], eax
lea ecx, [ebx + eax]
mov dword [esi + 0x90], edx
movss xmm1, dword [edi + edx + 0x10]
ucomiss xmm1, dword [0x101422a0]
mov dword [esi + 0x14], ecx
jbe 0x100c4560
mov edi, dword [ecx + 4]
mov edx, dword [ecx + 0x1c]
movzx ecx, byte [edi + edx + 4]
shl ecx, 8
movzx eax, byte [edi + edx + 5]
movsx ecx, cx
or ecx, eax
movzx ebx, byte [edi + edx + 6]
movzx edx, byte [edi + edx + 7]
shl ebx, 8
movsx edi, bx
mov ebx, dword [esi + 0x38]
or edi, edx
sub ecx, edi
jmp 0x100c4579
xorps xmm1, xmmword [0x10141310]
mov edi, dword [ecx + 4]
mov edx, dword [ecx + 0x14]
movzx ecx, word [edi + edx + 0x12]
rol cx, 8
movzx ecx, cx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
divss xmm1, xmm0
mov ecx, dword [esi + 0xd0]
add dword [esi + 0x18], ecx
add dword [esi + 0x40], ecx
cmp dword [esi + 0x20], 0
mov ecx, dword [esi + 0xb0]
mov eax, dword [esi + 0x70]
jle 0x100c4440
add eax, ebx
add eax, 0x94
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x90]
lea eax, [eax + edx + 0x14]
mov dword [esi + 0x60], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x70], eax
xor ebx, ebx
xor edx, edx
movaps xmmword [esi + 0x90], xmm1
nop word cs:[eax + eax]
mov dword [esi + 0x20], edx
mov dword [esi + 0xb0], ecx
mov eax, dword [esi + 0xd0]
mov eax, dword [eax + 0x2c]
mov ecx, dword [esi + 0x20]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esi + 0x14]
call fcn.100c85e0
mov edi, dword [esi + 0x60]
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [edi + 4]
movaps xmm2, xmmword [esi + 0x90]
mulss xmm1, xmm2
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [edi]
mulss xmm0, xmm2
mov ecx, dword [esi + 0x14]
mov edx, eax
lea eax, [esi + 0x10c]
push eax
lea eax, [esi + 0x110]
push eax
lea eax, [esi + 0xe8]
push eax
lea eax, [esi + 0x208]
push eax
call fcn.100c88d0
add esp, 0x10
mov eax, dword [edi]
mov ecx, dword [esi + 0x110]
mov edx, dword [esi + 0x70]
add ecx, edx
sub ecx, dword [esi + 0x208]
add eax, ecx
dec eax
mov edi, dword [esi + 0xd0]
mov ecx, dword [edi]
mov word [ecx + ebx + 4], ax
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x10c]
add ecx, edx
mov edx, dword [esi + 0x20]
sub ecx, dword [esi + 0xe8]
add eax, ecx
dec eax
mov ecx, dword [edi]
mov word [ecx + ebx + 6], ax
mov eax, dword [edi]
movzx ecx, word [eax + ebx + 4]
movzx eax, word [eax + ebx + 6]
imul eax, ecx
mov ecx, dword [esi + 0xb0]
add ecx, eax
inc edx
add ebx, 0x10
cmp edx, dword [edi + 0x24]
jl 0x100c45e0
mov ebx, dword [esi + 0x38]
jmp 0x100c4440
xor ecx, ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100c46d6
sqrtsd xmm0, xmm0
jmp 0x100c46f4
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esi + 0x1e0]
movsd xmm0, qword [esi + 0x1e0]
mov eax, dword [ebp + 8]
mov dword [eax + 0x20], 0
mov ecx, dword [eax + 0xc]
test ecx, ecx
jg 0x100c4742
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
mov ecx, 0x1000
cmp eax, 0xb32
jg 0x100c4742
mov ecx, 0x800
cmp eax, 0x598
jg 0x100c4742
xor ecx, ecx
cmp eax, 0x2cc
setge cl
shl ecx, 9
add ecx, 0x200
mov dword [esi + 0x458], 7
mov eax, dword [ebp + 8]
mov dword [esi + 0x14], ecx
mov dword [eax + 0x1c], ecx
mov eax, dword [eax + 0x10]
mov dword [esi + 0x100], eax
mov dword [esi + 0x458], 7
push 0x30
call fcn.100a46d0
add esp, 4
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0x100]
mov dword [esi + 0xb0], eax
lea eax, [eax*8]
push eax
call fcn.100a46d0
add esp, 4
mov dword [esi + 0xf4], eax
cmp dword [esi + 0xec], 0
mov eax, dword [esi + 0xf4]
je 0x100c48d6
test eax, eax
je 0x100c48d6
mov ecx, 0x8000
sub ecx, dword [esi + 0x100]
mov dword [esi + 0xd0], ecx
mov ebx, dword [esi + 0xb0]
lea ecx, [ebx - 1]
mov dword [esi + 0x20], ecx
xor ecx, ecx
cmp ebx, 2
jl 0x100c486c
lea ecx, [ebx - 2]
mov edx, dword [esi + 0x20]
and edx, 7
xor edi, edi
cmp ecx, 7
jb 0x100c4839
mov eax, dword [esi + 0x20]
and eax, 0xfffffff8
xor edi, edi
mov ecx, dword [esi + 0xf4]
nop word cs:[eax + eax]
lea ebx, [ecx + 8]
mov dword [ecx + 4], ebx
lea ebx, [ecx + 0x10]
mov dword [ecx + 0xc], ebx
lea ebx, [ecx + 0x18]
mov dword [ecx + 0x14], ebx
lea ebx, [ecx + 0x20]
mov dword [ecx + 0x1c], ebx
lea ebx, [ecx + 0x28]
mov dword [ecx + 0x24], ebx
lea ebx, [ecx + 0x30]
mov dword [ecx + 0x2c], ebx
lea ebx, [ecx + 0x38]
mov dword [ecx + 0x34], ebx
add edi, 8
lea ebx, [ecx + 0x40]
mov dword [ecx + 0x3c], ebx
mov ecx, ebx
cmp eax, edi
jne 0x100c4800
mov ecx, dword [esi + 0x20]
test edx, edx
mov eax, dword [esi + 0xf4]
mov ebx, dword [esi + 0xb0]
je 0x100c486c
lea ecx, [eax + edi*8]
add ecx, 8
nop word cs:[eax + eax]
mov dword [ecx - 4], ecx
add ecx, 8
dec edx
jne 0x100c4860
mov ecx, dword [esi + 0x20]
mov dword [eax + ecx*8 + 4], 0
mov ecx, dword [esi + 0xec]
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x1c], eax
lea eax, [ecx + 0x20]
mov dword [ecx + 0x18], eax
mov dword [ecx], ebx
mov eax, dword [esi + 0xd0]
mov dword [ecx + 4], eax
mov dword [ecx + 0x14], ebx
mov eax, dword [esi + 0x20]
add eax, ebx
cdq
idiv ebx
mov dword [ecx + 8], eax
mov dword [ecx + 0x20], 0
mov eax, ecx
add eax, 0x28
mov dword [ecx + 0x24], eax
mov word [ecx + 0x28], bx
mov word [ecx + 0x2a], 0xffff
mov dword [ecx + 0x2c], 0
mov dword [esi + 0x458], 7
jmp 0x100c494c
cmp dword [esi + 0xec], 0
je 0x100c48ed
push dword [esi + 0xec]
call fcn.100a4700
add esp, 4
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x100c4927
mov dword [esi + 0x100], 0
push eax
call fcn.100a4700
add esp, 4
mov dword [esi + 0xf4], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0xec], 0
jmp 0x100c494c
mov dword [esi + 0xf4], 0
mov dword [esi + 0x100], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0xec], 0
push dword [esi + 0xec]
push dword [ebp + 8]
call fcn.100c8b20
add esp, 8
cmp dword [esi + 0xc4], 0
jle 0x100c4a2b
xor eax, eax
jmp 0x100c4983
mov eax, dword [esi + 0xd0]
inc eax
cmp eax, dword [esi + 0xc4]
je 0x100c4a2b
mov dword [esi + 0xd0], eax
imul ebx, eax, 0xc4
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ebx + 0xa8]
test eax, eax
je 0x100c4970
mov ecx, dword [esi + 0x38]
lea edi, [ecx + ebx]
add edi, 0xa8
mov edx, dword [ecx + ebx + 0x94]
mov ecx, dword [esi + 0xec]
push eax
call fcn.100c8ce0
add esp, 4
mov dword [esi + 0xb0], edi
mov edi, dword [edi]
test edi, edi
jle 0x100c4970
mov eax, dword [esi + 0x38]
add eax, ebx
add eax, 0x94
mov dword [esi + 0x20], eax
xor ecx, ecx
mov edx, 0xc
jmp 0x100c49fc
inc ecx
add edx, 0x10
cmp ecx, edi
jge 0x100c4970
mov eax, dword [esi + 0x20]
mov ebx, dword [eax]
cmp dword [ebx + edx], 0
je 0x100c49f0
movzx edi, word [ebx + edx - 2]
movzx ebx, word [ebx + edx - 6]
add ebx, edi
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x20]
cmp edi, ebx
cmovg ebx, edi
mov dword [eax + 0x20], ebx
mov eax, dword [esi + 0xb0]
mov edi, dword [eax]
jmp 0x100c49f0
mov eax, dword [ebp + 8]
test byte [eax + 4], 1
mov eax, dword [eax + 0x20]
jne 0x100c4a64
dec eax
mov ecx, eax
sar ecx, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or eax, ecx
mov ecx, eax
sar ecx, 4
or ecx, eax
mov edx, ecx
sar edx, 8
or edx, ecx
mov eax, edx
sar eax, 0x10
or eax, edx
mov dword [esi + 0x458], 7
inc eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x20], eax
mov ecx, dword [edx + 0x1c]
movd xmm0, eax
movd xmm1, ecx
punpckldq xmm1, xmm0
cvtdq2ps xmm0, xmm1
movaps xmm1, xmmword [0x10141e60]
divps xmm1, xmm0
movlps qword [edx + 0x24], xmm1
imul eax, ecx
mov dword [esi + 0x458], 7
push eax
call fcn.100a46d0
add esp, 4
mov edi, dword [ebp + 8]
mov dword [edi + 0x14], eax
mov ecx, dword [edi + 0x20]
imul ecx, dword [edi + 0x1c]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x14]
mov dword [esi + 0x14c], eax
movd xmm0, dword [esi + 0x100]
pshuflw xmm0, xmm0, 0
movdqa xmmword [esi + 0x420], xmm0
mov eax, dword [esi + 0x14]
add eax, eax
xor edx, edx
xorps xmm3, xmm3
movaps xmm0, xmmword [0x10141310]
mov dword [esi + 0x18], eax
jmp 0x100c4afa
mov eax, dword [esi + 0x40]
mov dword [eax], 0
inc edx
cmp edx, dword [esi + 0xc4]
jge 0x100c7c79
imul ecx, edx, 0xc4
mov edi, dword [esi + 0x38]
cmp dword [edi + ecx + 0xa8], 0
je 0x100c4af9
mov eax, dword [esi + 0x38]
lea edi, [eax + ecx]
mov dword [esi + 0x114], ecx
movss xmm1, dword [eax + ecx + 0x7c]
ucomiss xmm1, xmm3
mov dword [esi + 0x160], edx
mov dword [esi + 0x188], edi
jbe 0x100c4b80
mov eax, dword [edi + 4]
mov edx, dword [edi + 0x1c]
movzx ecx, byte [eax + edx + 4]
shl ecx, 8
movzx edi, byte [eax + edx + 5]
movsx ecx, cx
or ecx, edi
movzx edi, byte [eax + edx + 6]
movzx eax, byte [eax + edx + 7]
shl edi, 8
movsx edx, di
or edx, eax
sub ecx, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
jmp 0x100c4b9c
xorps xmm1, xmm0
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x14]
movzx eax, word [eax + ecx + 0x12]
rol ax, 8
movzx eax, ax
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm1, xmm0
movaps xmmword [esi + 0x1d0], xmm1
mov ecx, dword [esi + 0x114]
mov eax, dword [esi + 0x38]
add eax, ecx
add eax, 0x90
movzx eax, byte [eax]
mov edi, 1
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
sub edi, eax
xorps xmm0, xmm0
movss dword [esi + 0x180], xmm0
movss dword [esi + 0x17c], xmm0
mov dword [esi + 0xd0], eax
test eax, eax
je 0x100c4bff
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
movaps xmm0, xmm2
addss xmm0, xmm2
divss xmm1, xmm0
movss dword [esi + 0x17c], xmm1
movss dword [esi + 0x11c], xmm2
mov dword [esi + 0x1ac], edi
mov eax, dword [esi + 0x38]
mov edx, eax
add eax, ecx
add eax, 0x91
movzx eax, byte [eax]
movzx edi, al
xorps xmm3, xmm3
cvtsi2ss xmm3, edi
mov ebx, 1
mov dword [esi + 0xb0], edi
sub ebx, edi
mov byte [esi + 0xff], al
test al, al
je 0x100c4c57
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
movaps xmm0, xmm3
addss xmm0, xmm3
divss xmm1, xmm0
movss dword [esi + 0x180], xmm1
mov dword [esi + 0x1a0], ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x54]
mov dword [esi + 0x19c], eax
lea eax, [edx + ecx]
add eax, 0x88
mov dword [esi + 0x1c8], eax
mov eax, dword [eax]
test eax, eax
movaps xmm0, xmmword [0x10141310]
jle 0x100c7860
mov ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x114]
mov edx, dword [ecx + edi + 0x94]
mov edi, dword [esi + 0x114]
add ecx, edi
add ecx, 0x8c
mov dword [esi + 0x1c4], ecx
movss xmm0, dword [0x10141e50]
movaps xmm2, xmm0
movss xmm1, dword [esi + 0x11c]
divss xmm2, xmm1
movss dword [esi + 0x1c0], xmm2
divss xmm0, xmm3
movss dword [esi + 0x1bc], xmm0
movaps xmm0, xmmword [esi + 0x1d0]
mulss xmm3, xmm0
movaps xmmword [esi + 0x1f0], xmm3
mulss xmm1, xmm0
movaps xmm0, xmm3
movss dword [esi + 0x11c], xmm1
minss xmm0, xmm1
movss xmm1, dword [0x101439b8]
divss xmm1, xmm0
movaps xmm0, xmmword [0x10141310]
mulss xmm1, xmm1
movss dword [esi + 0xe4], xmm1
xorps xmm3, xmm0
movaps xmmword [esi + 0x410], xmm3
mov ecx, dword [esi + 0xd0]
lea ecx, [ecx*4]
mov edi, 4
sub edi, ecx
mov dword [esi + 0x198], edi
mov ecx, dword [esi + 0x114]
xor ebx, ebx
mov dword [esi + 0x12c], edx
jmp 0x100c4e8e
mov eax, dword [esi + 0x8c]
movzx eax, word [eax]
mov ebx, dword [esi + 0x144]
lea ecx, [ebx + ebx*8]
lea ecx, [ecx + ecx*2]
add ecx, ebx
mov edi, dword [esi + 0x164]
lea edx, [edi + ecx]
mov word [edx], ax
mov eax, dword [esi + 0x8c]
movzx eax, word [eax + 2]
mov word [edi + ecx + 2], ax
mov edx, dword [esi + 0x128]
movzx eax, word [edx]
mov edi, dword [esi + 0x8c]
add ax, word [edi]
mov edi, dword [esi + 0x164]
mov word [edi + ecx + 4], ax
movzx eax, word [edx + 2]
mov edi, dword [esi + 0x8c]
add ax, word [edi + 2]
mov edi, dword [esi + 0x164]
mov word [edi + ecx + 6], ax
movzx eax, word [esi + 0x17a]
rol ax, 8
cwde
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x1d0]
movss dword [edi + ecx + 0x10], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x190]
movss xmm4, dword [esi + 0x1c0]
mulss xmm0, xmm4
movss xmm3, dword [esi + 0x17c]
addss xmm0, xmm3
movss dword [edi + ecx + 8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x18c]
movss xmm5, dword [esi + 0x1bc]
mulss xmm0, xmm5
movss xmm1, dword [esi + 0x180]
addss xmm0, xmm1
movss dword [edi + ecx + 0xc], xmm0
movzx eax, word [edx]
add eax, dword [esi + 0x190]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm4
addss xmm0, xmm3
movss dword [edi + ecx + 0x14], xmm0
movzx eax, word [edx + 2]
add eax, dword [esi + 0x18c]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm5
addss xmm0, xmm1
movss dword [edi + ecx + 0x18], xmm0
mov eax, dword [esi + 0x1c8]
mov eax, dword [eax]
movaps xmm0, xmmword [0x10141310]
mov ecx, dword [esi + 0x114]
inc ebx
cmp ebx, eax
mov edx, dword [esi + 0x12c]
jge 0x100c7860
mov edi, ebx
shl edi, 4
cmp dword [edx + edi + 0xc], 0
je 0x100c4e7f
mov dword [esi + 0x144], ebx
mov ebx, edx
movzx edx, word [edx + edi + 4]
test dx, dx
je 0x100c4f00
movzx ebx, word [ebx + edi + 6]
mov dword [esi + 0x20], ebx
test bx, bx
mov ebx, dword [esi + 0x144]
je 0x100c4e7f
mov dword [esi + 0x60], edx
mov eax, dword [esi + 0x12c]
mov dword [esi + 0x168], edi
add eax, edi
add eax, 4
mov dword [esi + 0x128], eax
mov ecx, dword [esi + 0x1c4]
mov eax, dword [ecx]
mov dword [esi + 0x164], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x100c4f0b
mov edx, dword [eax + ebx*4]
jmp 0x100c4f10
mov ebx, dword [esi + 0x144]
jmp 0x100c4e7f
mov edx, dword [ecx - 0xc]
add edx, ebx
mov dword [esi + 0x458], 7
mov edi, dword [esi + 0x188]
mov ecx, edi
call fcn.100c85e0
mov ebx, eax
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x168]
movd xmm0, dword [eax + ecx + 8]
paddw xmm0, xmmword [esi + 0x420]
movd dword [eax + ecx + 8], xmm0
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x60]
sub ecx, eax
mov edx, dword [esi + 0x128]
mov word [edx], cx
mov ecx, dword [esi + 0x20]
sub ecx, eax
mov word [edx + 2], cx
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x1c]
movzx ecx, word [eax + ecx + 0x22]
rol cx, 8
movzx ecx, cx
add eax, dword [edi + 0x20]
lea edx, [ebx*4]
cmp ecx, ebx
lea ecx, [ecx*4 - 4]
cmovg ecx, edx
movzx eax, word [ecx + eax]
mov word [esi + 0x17a], ax
mov ecx, edi
mov edx, ebx
movss xmm0, dword [esi + 0x11c]
movaps xmm1, xmmword [esi + 0x1f0]
lea eax, [esi + 0x1e8]
push eax
lea eax, [esi + 0x1ec]
push eax
lea eax, [esi + 0x18c]
push eax
lea eax, [esi + 0x190]
push eax
call fcn.100c88d0
add esp, 0x10
mov ecx, dword [esi + 0x128]
movzx eax, word [ecx + 2]
mov dword [esi + 0x120], eax
movzx eax, word [ecx]
mov dword [esi + 0x108], eax
mov ecx, dword [esi + 0x12c]
mov edx, dword [esi + 0x168]
movzx eax, word [ecx + edx + 8]
mov dword [esi + 0x60], eax
movzx eax, word [ecx + edx + 0xa]
mov dword [esi + 0xe0], eax
mov ecx, edi
mov dword [esi + 0x20], ebx
mov edx, ebx
lea eax, [esi + 0x194]
push eax
call fcn.100ccab0
add esp, 4
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0xb0]
neg eax
mov dword [esi + 0x1cc], eax
mov ecx, dword [esi + 0x120]
lea edi, [ecx + eax]
inc edi
mov eax, dword [esi + 0xd0]
neg eax
mov dword [esi + 0x184], eax
mov ecx, dword [esi + 0x188]
mov edx, dword [esi + 0x20]
movd xmm0, dword [esi + 0x11c]
movdqa xmm1, xmmword [esi + 0x1f0]
push 0
push 0
lea eax, [esi + 0x10c]
push eax
lea eax, [esi + 0x110]
push eax
call fcn.100c88d0
add esp, 0x10
mov dword [esi + 0x104], edi
test edi, edi
je 0x100c557b
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x108]
add eax, ecx
inc eax
mov dword [esi + 0x15c], eax
test eax, eax
je 0x100c557b
mov eax, dword [esi + 0x10c]
mov dword [esi + 0x150], eax
mov eax, dword [esi + 0x110]
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x194]
mov dword [esi + 0xc], eax
mov dword [esi + 0x208], 0
cmp dword [esi + 0x90], 0
jle 0x100c5571
xor edi, edi
mov edx, 0
cmp dword [esi + 0x90], 8
jb 0x100c51ba
mov edx, dword [esi + 0x90]
and edx, 0xfffffff8
mov eax, dword [esi + 0xc]
lea ecx, [eax + 0x6e]
pxor xmm0, xmm0
mov dword [esi + 0x20], edx
pxor xmm1, xmm1
movdqa xmm4, xmmword [0x1014d1e0]
movdqa xmm5, xmmword [0x10144600]
nop
movzx ebx, byte [ecx - 0x62]
movzx eax, byte [ecx - 0x46]
movzx edi, byte [ecx - 0x38]
shl edi, 8
or edi, eax
movzx eax, byte [ecx - 0x54]
shl eax, 8
or eax, ebx
movd xmm2, eax
pinsrw xmm2, edi, 1
movzx ebx, byte [ecx - 0x2a]
movzx eax, byte [ecx - 0xe]
movzx edi, byte [ecx]
shl edi, 8
or edi, eax
movzx eax, byte [ecx - 0x1c]
shl eax, 8
or eax, ebx
movd xmm3, eax
pinsrw xmm3, edi, 1
pcmpeqb xmm2, xmm4
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pand xmm2, xmm5
paddd xmm0, xmm2
pcmpeqb xmm3, xmm4
punpcklbw xmm3, xmm3
punpcklwd xmm3, xmm3
pand xmm3, xmm5
paddd xmm1, xmm3
add ecx, 0x70
add edx, 0xfffffff8
jne 0x100c5120
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edi, xmm1
mov edx, dword [esi + 0x20]
cmp dword [esi + 0x90], edx
je 0x100c51f0
mov ecx, dword [esi + 0x90]
sub ecx, edx
lea eax, [edx + edx]
shl edx, 4
sub edx, eax
mov eax, dword [esi + 0xc]
add eax, edx
add eax, 0xc
nop word cs:[eax + eax]
xor edx, edx
cmp byte [eax], 1
sete dl
add edi, edx
add eax, 0xe
dec ecx
jne 0x100c51e0
mov eax, edi
mov dword [esi + 0xf8], edi
test edi, edi
je 0x100c5571
mov eax, dword [esi + 0xf8]
lea eax, [eax*4]
mov dword [esi + 0x458], 7
push eax
call fcn.100a46d0
add esp, 4
mov dword [esi + 0xc8], eax
cmp dword [esi + 0xc8], 0
je 0x100c5571
mov eax, dword [esi + 0x120]
sub eax, dword [esi + 0xb0]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x108]
sub eax, dword [esi + 0xd0]
mov dword [esi + 0xcc], eax
mov ecx, dword [esi + 0x60]
add ecx, dword [esi + 0x14c]
mov eax, dword [esi + 0xe0]
imul eax, dword [esi + 0x14]
add eax, ecx
mov dword [esi + 0xe0], eax
xor eax, eax
mov cl, 1
mov dword [esi + 0x60], 0
xor edi, edi
jmp 0x100c52b8
mov edi, ecx
mov eax, dword [esi + 0x208]
sub eax, dword [esi + 0x60]
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0x20]
mov dword [ecx + edx*4], eax
mov al, 1
test byte [esi + 0x70], 1
mov ecx, 0
je 0x100c54df
mov dword [esi + 0x70], ecx
test al, 1
mov ecx, edi
je 0x100c52e7
mov eax, dword [esi + 0x208]
shl eax, 3
mov dword [esi + 0x458], 7
push eax
call fcn.100a46d0
add esp, 4
mov ecx, eax
test eax, eax
je 0x100c5559
mov dword [esi + 0x208], 0
pxor xmm0, xmm0
mov dword [esi + 0x20], 0xffffffff
mov ebx, dword [esi + 0x90]
mov edi, dword [esi + 0xc]
mov dword [esi + 0x5c], ecx
jmp 0x100c5398
movsx eax, word [edi + 2]
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movsx eax, word [edi]
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
movsx eax, word [edi + 6]
xorps xmm5, xmm5
cvtsi2ss xmm5, eax
movsx eax, word [edi + 4]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
sub esp, 0x14
movss xmm6, dword [esi + 0xe4]
movss dword [esp + 0xc], xmm6
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm4
movss dword [esp], xmm5
mov dword [esp + 0x10], 0
lea edx, [esi + 0x208]
call fcn.100cdaf0
mov ecx, dword [esi + 0x5c]
add esp, 0x14
movd xmm0, dword [edi]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
add edi, 0xe
dec ebx
je 0x100c5290
movzx eax, byte [edi + 0xc]
dec eax
cmp eax, 3
mov edx, dword [esi + 0x20]
ja case.default.0x100c53a5
jmp dword [eax*4 + 0x1014d310]
mov eax, dword [esi + 0x208]
test edx, edx
js 0x100c54aa
sub eax, dword [esi + 0x60]
mov ecx, dword [esi + 0xc8]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x208]
jmp 0x100c54ac
movsx eax, word [edi + 2]
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movsx eax, word [edi]
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
movsx eax, word [edi + 0xa]
xorps xmm5, xmm5
cvtsi2ss xmm5, eax
movsx eax, word [edi + 8]
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
movsx eax, word [edi + 6]
xorps xmm7, xmm7
cvtsi2ss xmm7, eax
movsx eax, word [edi + 4]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
movdqa xmm1, xmm0
shufps xmm1, xmm0, 0x55
sub esp, 0x1c
movss dword [esp + 0x10], xmm3
movss dword [esp + 0xc], xmm4
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm6
movss dword [esp], xmm7
movss xmm3, dword [esi + 0xe4]
movss dword [esp + 0x14], xmm3
mov dword [esp + 0x18], 0
lea edx, [esi + 0x208]
call fcn.100cdd70
mov ecx, dword [esi + 0x5c]
add esp, 0x1c
jmp 0x100c537d
mov eax, dword [esi + 0x208]
mov edx, ecx
lea ecx, [eax + 1]
movd xmm0, dword [edi]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
mov dword [esi + 0x208], ecx
mov ecx, edx
test edx, edx
je case.default.0x100c53a5
movlps qword [ecx + eax*8], xmm0
jmp case.default.0x100c53a5
mov ecx, eax
lea eax, [ecx + 1]
movd xmm0, dword [edi]
mov dword [esi + 0x208], eax
inc edx
mov dword [esi + 0x20], edx
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
mov eax, dword [esi + 0x5c]
test eax, eax
mov dword [esi + 0x60], ecx
je 0x100c54d8
movlps qword [eax + ecx*8], xmm0
mov ecx, eax
jmp case.default.0x100c53a5
test edi, edi
je 0x100c557b
xor ecx, ecx
mov eax, 0
mov edi, dword [esi + 0xf8]
cmp edi, 8
mov edx, dword [esi + 0xc8]
jb 0x100c5d90
mov eax, edi
and eax, 0xfffffff8
xorps xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
nop word cs:[eax + eax]
movdqu xmm2, xmmword [edx + ecx*4]
paddd xmm0, xmm2
movdqu xmm2, xmmword [edx + ecx*4 + 0x10]
paddd xmm1, xmm2
add ecx, 8
cmp eax, ecx
jne 0x100c5520
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd ecx, xmm1
jmp 0x100c5d94
push 0
call fcn.100a4700
add esp, 4
push dword [esi + 0xc8]
call fcn.100a4700
add esp, 4
mov dword [esi + 0x458], 7
mov eax, dword [esi + 0x194]
mov dword [esi + 0x458], 7
push eax
call fcn.100a4700
add esp, 4
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x168]
lea edx, [eax + ecx]
add edx, 8
movzx eax, word [edx]
mov ecx, dword [esi + 0xd0]
cmp cl, 2
mov dword [esi + 0x8c], edx
jb 0x100c5a06
mov ecx, dword [esi + 0x128]
movzx edi, word [ecx + 2]
movzx ecx, word [ecx]
movzx ebx, word [edx + 2]
mov dword [esi + 0x20c], 0
mov dword [esi + 0x208], 0
mov dword [esi + 0x5c], edi
test edi, edi
mov edx, dword [esi + 0x1ac]
je 0x100c5a06
movzx eax, ax
add eax, dword [esi + 0x14c]
imul ebx, dword [esi + 0x14]
add ebx, eax
mov eax, ecx
sub eax, dword [esi + 0xd0]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x184]
add eax, ecx
inc eax
mov dword [esi + 0x70], eax
and eax, 0xfffffffe
mov dword [esi + 0x90], eax
mov eax, ecx
neg eax
mov dword [esi + 0xcc], eax
lea eax, [edx + ecx]
mov dword [esi + 0xc], eax
xor eax, eax
mov edx, ecx
mov edi, ebx
mov dword [esi + 0x60], ecx
jmp 0x100c5652
add ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
inc eax
cmp eax, dword [esi + 0x5c]
mov edi, ebx
je 0x100c59fd
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0xd0]
push ebx
push 0
lea eax, [esi + 0x208]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
movzx eax, bl
add eax, 0xfffffffe
cmp eax, 3
mov dword [esi + 0x20], edi
ja case.default.0x100c567f
jmp dword [eax*4 + 0x1014d320]
cmp dword [esi + 0x3c], 0
js 0x100c5950
xor ecx, ecx
mov edi, 0
cmp dword [esi + 0x60], ebx
mov ebx, dword [esi + 0x20]
je 0x100c5723
xor ecx, ecx
xor edx, edx
nop word [eax + eax]
mov eax, edx
and eax, 6
movzx eax, byte [esi + eax + 0x208]
mov dword [esi + 8], eax
lea edi, [edx + 2]
mov dword [esi + 0x40], edi
and edi, 6
movzx eax, byte [ebx + edx]
mov byte [esi + edi + 0x208], al
mov edi, eax
sub edi, dword [esi + 8]
add edi, ecx
mov ecx, edi
shr ecx, 1
mov byte [ebx + edx], cl
lea ecx, [edx + 1]
and ecx, 7
movzx eax, byte [esi + ecx + 0x208]
mov dword [esi + 8], eax
lea ecx, [edx + 3]
and ecx, 7
movzx eax, byte [ebx + edx + 1]
mov byte [esi + ecx + 0x208], al
mov ecx, eax
sub ecx, dword [esi + 8]
add ecx, edi
mov edi, dword [esi + 0x40]
mov eax, ecx
shr eax, 1
mov byte [ebx + edx + 1], al
mov eax, dword [esi + 0x90]
mov edx, edi
cmp eax, edi
jne 0x100c56b0
mov ebx, edi
mov eax, dword [esi + 0x70]
mov edi, eax
test al, 1
je 0x100c5954
mov eax, dword [esi + 0x20]
movzx edx, byte [eax + ebx]
mov eax, ebx
and eax, 7
movzx eax, byte [esi + eax + 0x208]
lea edi, [ebx + 2]
and edi, 7
mov byte [esi + edi + 0x208], dl
sub edx, eax
add ecx, edx
mov eax, ecx
shr eax, 1
mov edx, dword [esi + 0x20]
mov byte [edx + ebx], al
jmp 0x100c5942
cmp dword [esi + 0x3c], 0
js 0x100c5950
xor ecx, ecx
mov eax, 0
cmp dword [esi + 0x60], ebx
je 0x100c57fd
xor ecx, ecx
xor eax, eax
nop word [eax + eax]
movzx edx, byte [edi + eax]
mov edi, eax
and edi, 6
movzx edi, byte [esi + edi + 0x208]
lea ebx, [eax + 4]
and ebx, 6
mov byte [esi + ebx + 0x208], dl
sub edx, edi
add edx, ecx
mov ecx, edx
shr ecx, 2
mov edi, dword [esi + 0x20]
mov byte [edi + eax], cl
lea edi, [eax + 1]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [ecx + eax + 1]
and edi, 7
movzx edi, byte [esi + edi + 0x208]
lea ebx, [eax + 5]
and ebx, 7
mov byte [esi + ebx + 0x208], cl
sub ecx, edi
mov edi, dword [esi + 0x20]
add ecx, edx
mov edx, ecx
shr edx, 2
mov byte [edi + eax + 1], dl
mov edx, dword [esi + 0x90]
add eax, 2
cmp edx, eax
jne 0x100c5790
mov edx, dword [esi + 0x70]
mov edi, edx
test dl, 1
je 0x100c5954
mov edx, dword [esi + 0x20]
movzx edx, byte [edx + eax]
mov edi, eax
and edi, 7
movzx edi, byte [esi + edi + 0x208]
lea ebx, [eax + 4]
and ebx, 7
mov byte [esi + ebx + 0x208], dl
sub edx, edi
add ecx, edx
mov edx, ecx
shr edx, 2
mov edi, dword [esi + 0x20]
mov byte [edi + eax], dl
jmp 0x100c5942
cmp dword [esi + 0x3c], 0
js 0x100c5950
xor ecx, ecx
xor edi, edi
nop
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x208]
lea ebx, [edi + 3]
and ebx, 7
mov byte [esi + ebx + 0x208], al
sub eax, edx
add ecx, eax
mov eax, ecx
mov edx, 0xaaaaaaab
mul edx
mov eax, dword [esi + 0x70]
shr edx, 1
mov ebx, dword [esi + 0x20]
mov byte [ebx + edi], dl
inc edi
cmp eax, edi
jne 0x100c5850
mov edi, eax
jmp 0x100c5954
cmp dword [esi + 0x3c], 0
js 0x100c5950
xor ecx, ecx
xor edi, edi
nop
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x208]
lea ebx, [edi + 5]
and ebx, 7
mov byte [esi + ebx + 0x208], al
sub eax, edx
add ecx, eax
mov eax, ecx
mov edx, 0xcccccccd
mul edx
shr edx, 2
mov eax, dword [esi + 0x20]
mov byte [eax + edi], dl
inc edi
cmp dword [esi + 0xc], edi
jne 0x100c58b0
jmp 0x100c5942
cmp dword [esi + 0x3c], 0
js 0x100c5950
xor ecx, ecx
xor edi, edi
nop dword [eax]
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x208]
mov ebx, dword [esi + 0xd0]
add ebx, edi
and ebx, 7
mov byte [esi + ebx + 0x208], al
mov ebx, dword [esi + 0xd0]
sub eax, edx
add ecx, eax
mov eax, ecx
xor edx, edx
div ebx
mov edx, dword [esi + 0x20]
mov byte [edx + edi], al
inc edi
cmp dword [esi + 0x70], edi
jne 0x100c5900
mov edi, dword [esi + 0x70]
jmp 0x100c5954
xor edi, edi
xor ecx, ecx
mov eax, dword [esi + 0x60]
sub eax, edi
mov ebx, dword [esi + 0x20]
jle 0x100c5640
test al, 1
jne 0x100c5970
mov ebx, edi
jmp 0x100c5994
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xd0]
mov ebx, edi
mov edi, dword [esi + 0x20]
mov byte [edi + ebx], al
lea edi, [ebx + 1]
not ebx
cmp ebx, dword [esi + 0xcc]
mov ebx, dword [esi + 0x20]
je 0x100c5640
nop word cs:[eax + eax]
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
mov ebx, dword [esi + 0xd0]
div ebx
mov edx, dword [esi + 0x20]
mov byte [edx + edi], al
lea eax, [edi + 1]
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
div ebx
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x60]
mov byte [ebx + edi + 1], al
add edi, 2
cmp edx, edi
jne 0x100c59b0
jmp 0x100c5640
mov eax, dword [esi + 0x8c]
movzx eax, word [eax]
mov edi, dword [esi + 0xb0]
cmp byte [esi + 0xff], 2
jb 0x100c4d5b
mov edx, dword [esi + 0x128]
movzx ecx, word [edx + 2]
mov dword [esi + 0x90], ecx
movzx ecx, word [edx]
mov edx, dword [esi + 0x8c]
movzx ebx, word [edx + 2]
mov dword [esi + 0x20c], 0
mov dword [esi + 0x208], 0
mov dword [esi + 0x10], ecx
test ecx, ecx
je 0x100c4d5b
movzx eax, ax
add eax, dword [esi + 0x14c]
imul ebx, dword [esi + 0x14]
add ebx, eax
mov edx, dword [esi + 0x90]
mov eax, edx
sub eax, edi
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x1cc]
add eax, edx
inc eax
mov dword [esi + 0x3c], eax
mov eax, edx
neg eax
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0x1a0]
add eax, edx
mov dword [esi + 0x20], eax
xor eax, eax
jmp 0x100c5ab7
mov ebx, dword [esi + 0x40]
inc ebx
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0x10]
mov edi, dword [esi + 0xb0]
je 0x100c4d52
mov dword [esi + 8], eax
push edi
push 0
lea eax, [esi + 0x208]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [edi - 2]
cmp eax, 3
mov dword [esi + 0x40], ebx
ja case.default.0x100c5adb
jmp dword [eax*4 + 0x1014d330]
cmp dword [esi + 0x5c], 0
js 0x100c5cc0
xor ecx, ecx
mov eax, ebx
xor edx, edx
nop word cs:[eax + eax]
movzx ebx, byte [eax]
mov edi, edx
and edi, 7
movzx edi, byte [esi + edi + 0x208]
mov dword [esi + 0x60], edi
lea edi, [edx + 2]
and edi, 7
mov byte [esi + edi + 0x208], bl
sub ebx, dword [esi + 0x60]
add ecx, ebx
mov ebx, ecx
shr ebx, 1
mov byte [eax], bl
inc edx
add eax, dword [esi + 0x14]
cmp dword [esi + 0x20], edx
jne 0x100c5b00
jmp 0x100c5cb0
cmp dword [esi + 0x5c], 0
js 0x100c5cc0
xor ecx, ecx
mov eax, ebx
xor edx, edx
movzx ebx, byte [eax]
mov edi, edx
and edi, 7
movzx edi, byte [esi + edi + 0x208]
mov dword [esi + 0x60], edi
lea edi, [edx + 4]
and edi, 7
mov byte [esi + edi + 0x208], bl
sub ebx, dword [esi + 0x60]
add ecx, ebx
mov ebx, ecx
shr ebx, 2
mov byte [eax], bl
inc edx
add eax, dword [esi + 0x14]
cmp dword [esi + 0x20], edx
jne 0x100c5b50
jmp 0x100c5cb0
cmp dword [esi + 0x5c], 0
js 0x100c5cc0
xor ecx, ecx
xor edi, edi
nop
mov dword [esi + 0x70], ebx
mov eax, dword [esi + 0x70]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
mov edx, dword [esi + 0x60]
sub edx, eax
add ecx, edx
mov eax, ecx
mov edx, 0xaaaaaaab
mul edx
lea eax, [edi + 3]
and eax, 7
mov ebx, dword [esi + 0x60]
mov byte [esi + eax + 0x208], bl
mov ebx, dword [esi + 0x70]
shr edx, 1
mov byte [ebx], dl
inc edi
add ebx, dword [esi + 0x14]
cmp dword [esi + 0x20], edi
jne 0x100c5ba0
jmp 0x100c5cb0
cmp dword [esi + 0x5c], 0
js 0x100c5cc0
xor ecx, ecx
xor edi, edi
nop
mov dword [esi + 0x70], ebx
mov eax, dword [esi + 0x70]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
mov edx, dword [esi + 0x60]
sub edx, eax
add ecx, edx
mov eax, ecx
mov edx, 0xcccccccd
mul edx
lea eax, [edi + 5]
and eax, 7
mov ebx, dword [esi + 0x60]
mov byte [esi + eax + 0x208], bl
mov ebx, dword [esi + 0x70]
shr edx, 2
mov byte [ebx], dl
inc edi
add ebx, dword [esi + 0x14]
cmp dword [esi + 0x20], edi
jne 0x100c5c00
jmp 0x100c5cb0
cmp dword [esi + 0x5c], 0
js 0x100c5cc0
xor ecx, ecx
mov edi, ebx
xor ebx, ebx
nop dword [eax + eax]
movzx eax, byte [edi]
mov dword [esi + 0x70], eax
mov edx, ebx
and edx, 7
movzx edx, byte [esi + edx + 0x208]
mov dword [esi + 0x60], edx
mov eax, dword [esi + 0xb0]
lea edx, [eax + ebx]
and edx, 7
mov eax, dword [esi + 0x70]
mov byte [esi + edx + 0x208], al
sub eax, dword [esi + 0x60]
add ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xb0]
mov byte [edi], al
inc ebx
add edi, dword [esi + 0x14]
cmp dword [esi + 0x20], ebx
jne 0x100c5c60
nop word cs:[eax + eax]
mov ebx, dword [esi + 0x3c]
jmp 0x100c5cc4
xor ebx, ebx
xor ecx, ecx
mov eax, dword [esi + 0x90]
sub eax, ebx
jle 0x100c5aa0
test al, 1
jne 0x100c5ce0
mov edi, ebx
jmp 0x100c5d08
mov eax, ebx
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xb0]
mov edx, ebx
imul edx, dword [esi + 0x14]
mov edi, dword [esi + 0x40]
mov byte [edi + edx], al
lea edi, [ebx + 1]
not ebx
cmp ebx, dword [esi + 0xcc]
je 0x100c5aa0
lea edx, [edi + 1]
mov eax, dword [esi + 0x14]
imul edx, eax
mov dword [esi + 0x70], edx
imul eax, edi
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x40]
nop dword [eax + eax]
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov dword [esi + 0x60], ecx
mov eax, ecx
xor edx, edx
div dword [esi + 0xb0]
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0xc]
mov byte [ebx + edx], al
lea eax, [edi + 1]
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xb0]
mov edx, dword [esi + 0x70]
mov byte [ebx + edx], al
mov edx, dword [esi + 0x90]
add edi, 2
add ebx, dword [esi + 0x18]
cmp edx, edi
jne 0x100c5d30
jmp 0x100c5aa0
add ecx, dword [edx + eax*4]
inc eax
cmp edi, eax
jne 0x100c5d90
lea eax, [ecx + ecx*4]
lea eax, [eax*4 + 0x14]
mov dword [esi + 0x458], 7
push eax
call fcn.100a46d0
add esp, 4
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x5c]
cmp dword [esi + 0x8c], 0
je 0x100c7839
add eax, 4
mov dword [esi + 0xf0], eax
mov dword [esi + 0x90], 0
xor ecx, ecx
xor edx, edx
pxor xmm1, xmm1
movss xmm2, dword [esi + 0x11c]
movaps xmm3, xmmword [esi + 0x410]
jmp 0x100c5e16
mov edx, dword [esi + 0x3c]
add edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x10]
inc ecx
cmp ecx, dword [esi + 0xf8]
je 0x100c5f40
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x10], ecx
mov ebx, dword [eax + ecx*4]
test ebx, ebx
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x3c], edx
mov dword [esi + 0x1c], ebx
jle 0x100c5e00
lea eax, [eax + edx*8]
mov dword [esi + 0x60], eax
lea edi, [ebx - 1]
mov eax, dword [esi + 0xf0]
lea eax, [eax + edx*8]
mov dword [esi + 0x70], eax
xor edx, edx
jmp 0x100c5ee4
mov ecx, ebx
mov ebx, dword [esi + 0x20]
lea edx, [ecx + ebx*4]
add edx, 0x10
mov dword [edx], 1
mov dword [esi + 0xc], edi
mov edi, eax
lea ecx, [ecx + ebx*4]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0xc]
movss xmm0, dword [edx + ecx*8]
mulss xmm0, xmm2
addss xmm0, xmm1
mov ebx, dword [esi + 0x40]
movss dword [ebx], xmm0
movss xmm0, dword [edx + ecx*8 + 4]
mulss xmm0, xmm3
addss xmm0, xmm1
mov ecx, dword [esi + 0x8c]
mov ebx, dword [esi + 0x20]
movss dword [ecx + ebx*4 + 4], xmm0
movss xmm0, dword [edx + edi*8]
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [ecx + ebx*4 + 8], xmm0
movss xmm0, dword [edx + edi*8 + 4]
mulss xmm0, xmm3
addss xmm0, xmm1
movss dword [ecx + ebx*4 + 0xc], xmm0
inc dword [esi + 0x90]
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0x10]
mov ebx, dword [ecx + edx*4]
lea edx, [eax + 1]
mov edi, eax
cmp edx, ebx
jge 0x100c5e00
mov eax, edx
mov edx, dword [esi + 0x60]
movss xmm0, dword [edx + edi*8 + 4]
mov ecx, dword [esi + 0x70]
ucomiss xmm0, dword [ecx + eax*8]
jne 0x100c5efa
jnp 0x100c5ed7
mov ebx, dword [esi + 0x90]
mov dword [esi + 8], eax
lea eax, [ebx + ebx*4]
mov dword [esi + 0x20], eax
mov ebx, dword [esi + 0x8c]
mov eax, dword [esi + 0x20]
mov dword [ebx + eax*4 + 0x10], 0
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x8c]
movss xmm0, dword [edx + edi*8 + 4]
ucomiss xmm0, dword [ecx + eax*8]
ja 0x100c5e4b
mov ecx, ebx
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x20]
jmp 0x100c5e61
mov ecx, dword [esi + 0x8c]
mov ebx, dword [esi + 0x90]
mov edx, ebx
call fcn.100ce040
cmp ebx, 2
mov dword [esi + 0x90], ebx
jl 0x100c601a
mov eax, 1
mov edi, dword [esi + 0x8c]
jmp 0x100c5f7f
inc eax
mov edi, dword [esi + 0x20]
add edi, 0x14
cmp eax, ebx
je 0x100c601a
lea edx, [eax + eax*4]
mov ecx, dword [esi + 0x8c]
movsd xmm0, qword [ecx + edx*4]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mov ebx, edi
mov edi, dword [ecx + edx*4 + 0x10]
mov dword [esi + 0x210], edi
movsd xmm2, qword [ecx + edx*4 + 8]
movsd qword [esi + 0x208], xmm2
mov dword [esi + 0x20], ebx
mov edi, ebx
mov edx, eax
nop word cs:[eax + eax]
movss xmm2, dword [edi + 4]
ucomiss xmm2, xmm1
jbe 0x100c5fe6
lea ebx, [edx - 1]
mov ecx, dword [edi + 0x10]
mov dword [edi + 0x24], ecx
movups xmm2, xmmword [edi]
movups xmmword [edi + 0x14], xmm2
add edi, 0xffffffec
cmp edx, 1
mov edx, ebx
jg 0x100c5fc0
xor edx, edx
mov ebx, dword [esi + 0x90]
cmp eax, edx
je 0x100c5f70
lea ecx, [edx + edx*4]
mov edi, dword [esi + 0x8c]
movlps qword [edi + ecx*4], xmm0
movsd xmm0, qword [esi + 0x208]
movsd qword [edi + ecx*4 + 8], xmm0
mov edx, dword [esi + 0x210]
mov dword [edi + ecx*4 + 0x10], edx
jmp 0x100c5f70
mov dword [esi + 0xe8], 0
lea eax, [esi + 0x208]
mov dword [esi + 0x1c], eax
cmp dword [esi + 0xcc], 0x40
mov ecx, dword [esi + 0x15c]
jl 0x100c6065
lea eax, [ecx*8 + 4]
mov dword [esi + 0x458], 7
push eax
call fcn.100a46d0
add esp, 4
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x15c]
mov ebx, dword [esi + 0x90]
mov edx, dword [esi + 0x150]
mov eax, dword [esi + 0x104]
add eax, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
addss xmm0, dword [0x10141e50]
lea eax, [ebx + ebx*4]
mov edi, dword [esi + 0x8c]
movss dword [edi + eax*4 + 4], xmm0
cmp dword [esi + 0x120], 0x7ffffffe
mov ebx, dword [esi + 0xe0]
ja 0x100c780b
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x124]
movss dword [esi + 0x154], xmm0
mov edi, dword [esi + 0x1c]
lea eax, [edi + ecx*4]
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movss dword [esi + 0xf8], xmm0
mov dword [esi + 0x148], eax
add eax, 4
mov dword [esi + 0x140], eax
lea eax, [ecx*4]
mov dword [esi + 0x1a8], eax
mov eax, dword [esi + 0x198]
mov edx, dword [esi + 0x108]
lea eax, [eax + edx*4]
add eax, edi
mov dword [esi + 0x108], eax
lea eax, [ecx*4 + 4]
mov dword [esi + 0x1a4], eax
mov dword [esi + 0x118], 0
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x104], eax
mov edx, dword [esi + 0x150]
mov eax, edi
mov dword [esi + 0x158], 0
mov dword [esi + 0x124], 0
xor edi, edi
mov dword [esi + 0xf0], 0
jmp 0x100c6178
mov edx, dword [esi + 0x1b8]
inc edx
add ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x158]
cmp eax, dword [esi + 0x120]
lea eax, [eax + 1]
mov dword [esi + 0x158], eax
mov eax, dword [esi + 0x1c]
je 0x100c77cf
mov dword [esi + 0xe0], ebx
mov dword [esi + 0x1b8], edx
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
movss dword [esi + 0xc], xmm0
addss xmm0, dword [0x10141e50]
movss dword [esi + 8], xmm0
push dword [esi + 0x1a8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esi + 0x1a4]
push 0
push dword [esi + 0x148]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ebx, dword [esi + 0x118]
test ebx, ebx
je 0x100c6230
lea eax, [esi + 0xe8]
xorps xmm3, xmm3
movss xmm2, dword [esi + 0x154]
movss xmm0, dword [esi + 0xc]
movss xmm5, dword [esi + 8]
mov edx, dword [esi + 0x104]
jmp 0x100c621b
mov ecx, dword [ebx]
mov dword [eax], ecx
mov edx, dword [esi + 0x104]
mov dword [ebx + 0x10], 0
mov dword [ebx], edi
mov edi, ebx
mov ebx, dword [eax]
test ebx, ebx
je 0x100c6246
ucomiss xmm0, dword [ebx + 0x18]
jae 0x100c6200
mov eax, ebx
jmp 0x100c6215
xorps xmm3, xmm3
movss xmm2, dword [esi + 0x154]
movss xmm5, dword [esi + 8]
mov edx, dword [esi + 0x104]
movss xmm0, dword [edx + 4]
ucomiss xmm5, xmm0
jae 0x100c7600
mov dword [esi + 0x104], edx
mov dword [esi + 0x1b4], edi
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x118], eax
test eax, eax
je 0x100c7530
movss xmm0, dword [esi + 8]
subss xmm0, dword [esi + 0xc]
movss dword [esi + 0x13c], xmm0
mov eax, dword [esi + 0x118]
jmp 0x100c631d
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movaps xmm3, xmmword [esi + 0x20]
mulss xmm3, xmm1
addss xmm3, xmm7
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
subss xmm2, xmm1
movaps xmm1, xmm4
subss xmm1, xmm3
addss xmm2, dword [0x101422a0]
mulss xmm2, dword [0x10141ebc]
addss xmm2, dword [0x10141e50]
movss xmm3, dword [esi + 0x60]
mulss xmm2, xmm3
mulss xmm1, xmm2
addss xmm1, xmm6
addss xmm1, dword [edx + ebx*4]
movss dword [edx + ebx*4], xmm1
subss xmm4, xmm0
mulss xmm4, xmm3
mov edx, dword [esi + 0x140]
addss xmm4, dword [edx + ebx*4]
movss dword [edx + ebx*4], xmm4
nop word cs:[eax + eax]
mov eax, dword [eax]
test eax, eax
xorps xmm3, xmm3
je 0x100c7530
movss xmm2, dword [eax + 4]
movss xmm4, dword [eax + 8]
ucomiss xmm4, xmm3
movaps xmmword [esi + 0x40], xmm2
jne 0x100c6400
jp 0x100c6400
xorps xmm0, xmm0
movss xmm1, dword [esi + 0xf8]
ucomiss xmm1, xmm2
jbe 0x100c6310
movaps xmm1, xmmword [esi + 0x40]
ucomiss xmm1, xmm0
jae 0x100c6537
movss xmm0, dword [esi + 8]
ucomiss xmm0, dword [esi + 0xc]
jne 0x100c6364
jnp 0x100c6310
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm0
ja 0x100c6310
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100c6310
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm2, xmmword [esi + 0x40]
jbe 0x100c63b2
movaps xmm4, xmmword [esi + 0x40]
movaps xmm3, xmm4
subss xmm3, xmm4
movaps xmm2, xmm1
subss xmm2, dword [esi + 0xc]
mulss xmm2, xmm3
divss xmm2, dword [esi + 0x13c]
addss xmm2, xmm4
movaps xmm3, xmm1
movss xmm6, dword [esi + 8]
ucomiss xmm6, xmm0
xorps xmm5, xmm5
jbe 0x100c7338
movaps xmm7, xmmword [esi + 0x40]
movaps xmm1, xmm7
subss xmm1, xmm2
movaps xmm4, xmm0
subss xmm4, xmm6
mulss xmm4, xmm1
movaps xmm1, xmm6
subss xmm1, xmm3
divss xmm4, xmm1
addss xmm7, xmm4
movaps xmmword [esi + 0x40], xmm7
ucomiss xmm5, xmm2
jae 0x100c7344
jmp 0x100c743f
movaps xmm0, xmm4
addss xmm0, xmm2
movaps xmmword [esi + 0x70], xmm0
movss xmm0, dword [eax + 0x14]
movaps xmm1, xmm0
movss xmm6, dword [esi + 0xc]
subss xmm1, xmm6
movss dword [esi + 0x3c], xmm4
mulss xmm1, xmm4
addss xmm1, xmm2
cmpltss xmm6, xmm0
andps xmm1, xmm6
andnps xmm6, xmm2
orps xmm6, xmm1
ucomiss xmm6, xmm3
jb 0x100c6510
movss xmm4, dword [eax + 0x18]
movaps xmm1, xmm4
subss xmm1, dword [esi + 0xc]
mulss xmm1, dword [esi + 0x3c]
addss xmm1, dword [esi + 0x40]
movaps xmm5, xmm4
cmpltss xmm5, dword [esi + 8]
movaps xmm2, xmm5
andps xmm5, xmm1
andnps xmm2, xmmword [esi + 0x70]
orps xmm5, xmm2
ucomiss xmm5, xmm3
jb 0x100c6510
movss xmm1, dword [esi + 0xf8]
ucomiss xmm1, xmm6
jbe 0x100c6510
movss xmm1, dword [esi + 0xf8]
ucomiss xmm1, xmm5
jbe 0x100c6510
movss xmm3, dword [esi + 0xc]
maxss xmm0, xmm3
cvttss2si edi, xmm6
minss xmm4, dword [esi + 8]
cvttss2si ecx, xmm5
cmp edi, ecx
jne 0x100c71ea
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
subss xmm6, xmm1
subss xmm5, xmm1
addss xmm5, xmm6
mulss xmm5, dword [0x10141ebc]
addss xmm5, dword [0x10141e50]
mulss xmm5, dword [eax + 0x10]
subss xmm4, xmm0
mulss xmm5, xmm4
mov ecx, dword [esi + 0x1c]
addss xmm5, dword [ecx + edi*4]
movss dword [ecx + edi*4], xmm5
mulss xmm4, dword [eax + 0x10]
mov ecx, dword [esi + 0x140]
addss xmm4, dword [ecx + edi*4]
movss dword [ecx + edi*4], xmm4
jmp 0x100c6310
cmp dword [esi + 0xcc], 0x7ffffffe
ja 0x100c6310
movaps xmm0, xmmword [esi + 0x70]
subss xmm0, dword [esi + 0x40]
movaps xmmword [esi + 0x430], xmm0
xor ecx, ecx
jmp 0x100c663c
movss xmm0, dword [esi + 8]
ucomiss xmm0, dword [esi + 0xc]
jne 0x100c6548
jnp 0x100c6310
cvttss2si ecx, dword [esi + 0x40]
movss xmm4, dword [eax + 0x18]
movss xmm0, dword [esi + 0xc]
ucomiss xmm0, xmm4
ja 0x100c73b4
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100c73b4
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm5, xmmword [esi + 0x40]
movaps xmm0, xmm5
jbe 0x100c65a2
movaps xmm2, xmm5
subss xmm2, xmm5
movaps xmm0, xmm1
subss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
divss xmm0, dword [esi + 0x13c]
addss xmm0, xmm5
movaps xmm3, xmm1
movss xmm6, dword [esi + 8]
ucomiss xmm6, xmm4
movaps xmm2, xmm5
movaps xmm5, xmm6
jbe 0x100c65da
movaps xmm5, xmmword [esi + 0x40]
movaps xmm1, xmm5
subss xmm1, xmm0
movaps xmm2, xmm4
subss xmm2, xmm6
mulss xmm2, xmm1
movaps xmm1, xmm6
subss xmm1, xmm3
divss xmm2, xmm1
addss xmm2, xmm5
movaps xmm5, xmm4
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
ucomiss xmm1, xmm0
jb 0x100c736a
ucomiss xmm1, xmm2
jb 0x100c736a
subss xmm5, xmm3
mulss xmm5, dword [eax + 0x10]
mov edx, dword [esi + 0x1c]
addss xmm5, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm5
jmp 0x100c73b4
subss xmm1, xmm0
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
nop word cs:[eax + eax]
cmp edx, dword [esi + 0xcc]
je 0x100c6310
mov edx, ecx
xorps xmm5, xmm5
cvtsi2ss xmm5, ecx
inc ecx
xorps xmm6, xmm6
cvtsi2ss xmm6, ecx
movaps xmm0, xmm5
movaps xmm3, xmmword [esi + 0x40]
subss xmm0, xmm3
movaps xmm7, xmm0
movss xmm4, dword [esi + 0x3c]
divss xmm7, xmm4
movss xmm1, dword [esi + 0xc]
addss xmm7, xmm1
movss dword [esi + 0x60], xmm7
movaps xmm7, xmm6
subss xmm7, xmm3
movaps xmm2, xmm7
divss xmm7, xmm4
addss xmm7, xmm1
movss dword [esi + 0x90], xmm7
movss dword [esi + 0x20], xmm5
ucomiss xmm5, xmm3
movss dword [esi + 0x10], xmm6
jbe 0x100c6790
movaps xmm4, xmmword [esi + 0x70]
ucomiss xmm4, xmm6
jbe 0x100c6790
movss xmm6, dword [esi + 0x60]
ucomiss xmm6, xmm1
movss xmm7, dword [esi + 0x90]
jne 0x100c66c4
jnp 0x100c6b00
movss xmm3, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm3
ja 0x100c6b00
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm6
ja 0x100c6b00
movss xmm6, dword [esi + 0xc]
ucomiss xmm1, xmm6
movaps xmm2, xmmword [esi + 0x40]
movaps xmm4, xmm6
jbe 0x100c671e
movaps xmm6, xmm1
movss xmm2, dword [esi + 0xc]
subss xmm6, xmm2
mulss xmm0, xmm6
movss xmm6, dword [esi + 0x60]
subss xmm6, xmm2
divss xmm0, xmm6
addss xmm0, dword [esi + 0x40]
movaps xmm2, xmm0
movaps xmm4, xmm1
movss xmm6, dword [esi + 0x60]
ucomiss xmm6, xmm3
movss xmm5, dword [esi + 0x20]
movaps xmm1, xmm6
jbe 0x100c6759
movss xmm0, dword [esi + 0x20]
movaps xmm1, xmm0
subss xmm1, xmm2
movaps xmm5, xmm3
subss xmm5, xmm6
mulss xmm5, xmm1
movaps xmm1, xmm6
subss xmm1, xmm4
divss xmm5, xmm1
addss xmm5, xmm0
movaps xmm1, xmm3
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm2
jb 0x100c6aab
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm5
jb 0x100c6aab
subss xmm1, xmm4
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
jmp 0x100c6b00
movss xmm5, dword [esi + 0x20]
ucomiss xmm5, dword [esi + 0x70]
jbe 0x100c6890
ucomiss xmm3, xmm6
jbe 0x100c6890
movss xmm5, dword [esi + 0x90]
ucomiss xmm5, xmm1
jne 0x100c67bb
jnp 0x100c6e90
movss xmm3, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm3
ja 0x100c6e90
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm5
ja 0x100c6e90
movss xmm5, dword [esi + 0xc]
ucomiss xmm1, xmm5
movaps xmm7, xmmword [esi + 0x40]
jbe 0x100c6815
movaps xmm5, xmm1
movss xmm0, dword [esi + 0xc]
subss xmm5, xmm0
mulss xmm2, xmm5
movss xmm5, dword [esi + 0x90]
subss xmm5, xmm0
divss xmm2, xmm5
addss xmm2, dword [esi + 0x40]
movaps xmm7, xmm2
movaps xmm5, xmm1
movss xmm4, dword [esi + 0x90]
ucomiss xmm4, xmm3
movss xmm0, dword [esi + 0x10]
movaps xmm6, xmm0
movaps xmm1, xmm4
jbe 0x100c6851
movaps xmm1, xmm0
subss xmm1, xmm7
movaps xmm6, xmm3
subss xmm6, xmm4
mulss xmm6, xmm1
movaps xmm1, xmm4
subss xmm1, xmm5
divss xmm6, xmm1
addss xmm6, xmm0
movaps xmm1, xmm3
movss xmm3, dword [esi + 0x20]
ucomiss xmm3, xmm7
jb 0x100c6e40
movss xmm3, dword [esi + 0x20]
ucomiss xmm3, xmm6
jb 0x100c6e40
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
movss xmm5, dword [esi + 0x90]
jmp 0x100c6e90
movss xmm5, dword [esi + 0x20]
ucomiss xmm5, xmm3
jbe 0x100c68a4
movaps xmm4, xmmword [esi + 0x70]
ucomiss xmm4, dword [esi + 0x20]
ja 0x100c68bd
movss xmm5, dword [esi + 0x20]
ucomiss xmm5, dword [esi + 0x70]
jbe 0x100c69a0
ucomiss xmm3, dword [esi + 0x20]
jbe 0x100c69a0
movss xmm2, dword [esi + 0x60]
ucomiss xmm2, xmm1
jne 0x100c68cd
jnp 0x100c7070
movss xmm5, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm5
ja 0x100c7070
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm2
ja 0x100c7070
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm6, xmmword [esi + 0x40]
movaps xmm4, xmm3
jbe 0x100c6927
movaps xmm3, xmm1
movss xmm6, dword [esi + 0xc]
subss xmm3, xmm6
mulss xmm0, xmm3
movss xmm3, dword [esi + 0x60]
subss xmm3, xmm6
divss xmm0, xmm3
addss xmm0, dword [esi + 0x40]
movaps xmm6, xmm0
movaps xmm4, xmm1
movss xmm1, dword [esi + 0x60]
ucomiss xmm1, xmm5
movss xmm3, dword [esi + 0x20]
jbe 0x100c6964
movss xmm0, dword [esi + 0x20]
movaps xmm1, xmm0
subss xmm1, xmm6
movaps xmm3, xmm5
movss xmm2, dword [esi + 0x60]
subss xmm3, xmm2
mulss xmm3, xmm1
movaps xmm1, xmm2
subss xmm1, xmm4
divss xmm3, xmm1
addss xmm3, xmm0
movaps xmm1, xmm5
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm6
jb 0x100c7024
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm3
jb 0x100c7024
subss xmm1, xmm4
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
movss xmm2, dword [esi + 0x60]
jmp 0x100c7070
ucomiss xmm6, xmm3
jbe 0x100c69ae
movaps xmm0, xmmword [esi + 0x70]
ucomiss xmm0, xmm6
ja 0x100c69c1
ucomiss xmm6, dword [esi + 0x70]
jbe 0x100c6d2d
ucomiss xmm3, xmm6
jbe 0x100c6d2d
movss xmm7, dword [esi + 0x90]
ucomiss xmm7, xmm1
jne 0x100c69d4
jnp 0x100c6c20
movss xmm5, dword [eax + 0x18]
movss xmm0, dword [esi + 0xc]
ucomiss xmm0, xmm5
ja 0x100c6c20
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm7
ja 0x100c6c20
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm0, xmmword [esi + 0x40]
movaps xmm4, xmm3
jbe 0x100c6a31
movaps xmm0, xmm1
movss xmm3, dword [esi + 0xc]
subss xmm0, xmm3
mulss xmm2, xmm0
movss xmm0, dword [esi + 0x90]
subss xmm0, xmm3
divss xmm2, xmm0
addss xmm2, dword [esi + 0x40]
movaps xmm0, xmm2
movaps xmm4, xmm1
movss xmm1, dword [esi + 0x90]
ucomiss xmm1, xmm5
movss xmm3, dword [esi + 0x10]
movaps xmm6, xmm1
jbe 0x100c6a6c
movss xmm6, dword [esi + 0x10]
movaps xmm7, xmm6
subss xmm7, xmm0
movaps xmm3, xmm5
subss xmm3, xmm1
mulss xmm3, xmm7
subss xmm1, xmm4
divss xmm3, xmm1
addss xmm3, xmm6
movaps xmm6, xmm5
movss xmm1, dword [esi + 0x20]
ucomiss xmm1, xmm0
jb 0x100c7192
movss xmm1, dword [esi + 0x20]
ucomiss xmm1, xmm3
jb 0x100c7192
subss xmm6, xmm4
mulss xmm6, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm6, dword [edi + edx*4]
movss dword [edi + edx*4], xmm6
movss xmm7, dword [esi + 0x90]
jmp 0x100c6c20
ucomiss xmm2, dword [esi + 0x10]
jb 0x100c6ab7
ucomiss xmm5, dword [esi + 0x10]
jae 0x100c6b00
subss xmm1, xmm4
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm2, xmm0
subss xmm5, xmm0
addss xmm5, xmm2
mulss xmm5, dword [0x10141ebc]
addss xmm5, dword [0x10141e50]
mulss xmm5, xmm1
mov edi, dword [esi + 0x1c]
addss xmm5, dword [edi + edx*4]
movss dword [edi + edx*4], xmm5
nop word cs:[eax + eax]
ucomiss xmm6, xmm7
jne 0x100c6b0b
jnp 0x100c6c20
movss xmm3, dword [eax + 0x18]
ucomiss xmm6, xmm3
ja 0x100c6c20
movss xmm5, dword [eax + 0x14]
ucomiss xmm5, xmm7
ja 0x100c6c20
ucomiss xmm5, xmm6
movaps xmm4, xmm6
jbe 0x100c6b5c
movss xmm0, dword [esi + 0x10]
movaps xmm1, xmm0
movss xmm2, dword [esi + 0x20]
subss xmm1, xmm2
movaps xmm6, xmm5
subss xmm6, xmm4
mulss xmm6, xmm1
movaps xmm1, xmm7
subss xmm1, xmm4
divss xmm6, xmm1
addss xmm6, xmm2
jmp 0x100c6b69
movss xmm6, dword [esi + 0x20]
movaps xmm5, xmm4
movss xmm0, dword [esi + 0x10]
ucomiss xmm7, xmm3
movaps xmm1, xmm7
jbe 0x100c6bab
movss xmm2, dword [esi + 0x10]
movaps xmm1, xmm2
subss xmm1, xmm6
movaps xmm0, xmm3
subss xmm0, dword [esi + 0x90]
mulss xmm0, xmm1
movss xmm1, dword [esi + 0x90]
subss xmm1, xmm5
divss xmm0, xmm1
addss xmm0, xmm2
movss xmm7, dword [esi + 0x90]
movaps xmm1, xmm3
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm6
jb 0x100c6bd7
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm0
jb 0x100c6bd7
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
jmp 0x100c6c20
ucomiss xmm6, dword [esi + 0x10]
jb 0x100c6be3
ucomiss xmm0, dword [esi + 0x10]
jae 0x100c6c20
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
movss xmm2, dword [esi + 0x20]
subss xmm6, xmm2
subss xmm0, xmm2
addss xmm0, xmm6
mulss xmm0, dword [0x10141ebc]
addss xmm0, dword [0x10141e50]
mulss xmm0, xmm1
mov edi, dword [esi + 0x1c]
addss xmm0, dword [edi + edx*4]
movss dword [edi + edx*4], xmm0
nop
ucomiss xmm7, dword [esi + 8]
jne 0x100c6c2c
jnp 0x100c6630
movss xmm3, dword [eax + 0x18]
ucomiss xmm7, xmm3
ja 0x100c6630
movss xmm0, dword [eax + 0x14]
ucomiss xmm0, dword [esi + 8]
ja 0x100c6630
ucomiss xmm0, xmm7
jbe 0x100c6c7f
movaps xmm1, xmmword [esi + 0x70]
movaps xmm2, xmm7
movss xmm7, dword [esi + 0x10]
subss xmm1, xmm7
movaps xmm5, xmm0
subss xmm5, xmm2
mulss xmm5, xmm1
movss xmm6, dword [esi + 8]
movaps xmm1, xmm6
subss xmm1, xmm2
divss xmm5, xmm1
addss xmm5, xmm7
jmp 0x100c6c8c
movss xmm5, dword [esi + 0x10]
movaps xmm0, xmm7
movss xmm6, dword [esi + 8]
ucomiss xmm6, xmm3
movaps xmm1, xmm6
movaps xmm6, xmmword [esi + 0x70]
jbe 0x100c6cc5
movaps xmm2, xmmword [esi + 0x70]
movaps xmm1, xmm2
subss xmm1, xmm5
movaps xmm6, xmm3
movss xmm7, dword [esi + 8]
subss xmm6, xmm7
mulss xmm6, xmm1
movaps xmm1, xmm7
subss xmm1, xmm0
divss xmm6, xmm1
addss xmm6, xmm2
movaps xmm1, xmm3
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm5
jb 0x100c6cdd
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm6
jae 0x100c660e
ucomiss xmm5, dword [esi + 0x10]
jb 0x100c6ced
ucomiss xmm6, dword [esi + 0x10]
jae 0x100c6630
subss xmm1, xmm0
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm5, xmm0
subss xmm6, xmm0
addss xmm6, xmm5
mulss xmm6, dword [0x10141ebc]
addss xmm6, dword [0x10141e50]
mulss xmm6, xmm1
mov edi, dword [esi + 0x1c]
addss xmm6, dword [edi + edx*4]
movss dword [edi + edx*4], xmm6
jmp 0x100c6630
movss xmm0, dword [esi + 8]
ucomiss xmm0, xmm1
jne 0x100c6d3d
jnp 0x100c6630
movss xmm6, dword [eax + 0x18]
movss xmm0, dword [esi + 0xc]
ucomiss xmm0, xmm6
ja 0x100c6630
movss xmm0, dword [eax + 0x14]
ucomiss xmm0, dword [esi + 8]
ja 0x100c6630
movaps xmm1, xmm0
movss xmm7, dword [esi + 0xc]
subss xmm1, xmm7
mulss xmm1, dword [esi + 0x430]
divss xmm1, dword [esi + 0x13c]
movaps xmm5, xmm7
cmpltss xmm5, xmm0
andps xmm1, xmm5
movss xmm3, dword [0x10142260]
andnps xmm5, xmm3
orps xmm5, xmm1
addss xmm5, dword [esi + 0x40]
maxss xmm0, xmm7
movss xmm1, dword [esi + 8]
ucomiss xmm1, xmm6
movaps xmm3, xmmword [esi + 0x70]
jbe 0x100c6dd8
movaps xmm2, xmmword [esi + 0x70]
movaps xmm1, xmm2
subss xmm1, xmm5
movaps xmm3, xmm6
movss xmm7, dword [esi + 8]
subss xmm3, xmm7
mulss xmm3, xmm1
movaps xmm1, xmm7
subss xmm1, xmm0
divss xmm3, xmm1
addss xmm3, xmm2
movaps xmm1, xmm6
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm5
jb 0x100c6df0
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm3
jae 0x100c660e
ucomiss xmm5, dword [esi + 0x10]
jb 0x100c6e00
ucomiss xmm3, dword [esi + 0x10]
jae 0x100c6630
subss xmm1, xmm0
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm5, xmm0
subss xmm3, xmm0
addss xmm3, xmm5
mulss xmm3, dword [0x10141ebc]
addss xmm3, dword [0x10141e50]
mulss xmm3, xmm1
mov edi, dword [esi + 0x1c]
addss xmm3, dword [edi + edx*4]
movss dword [edi + edx*4], xmm3
jmp 0x100c6630
movaps xmm2, xmm5
ucomiss xmm7, xmm0
movss xmm5, dword [esi + 0x90]
jb 0x100c6e55
ucomiss xmm6, xmm0
jae 0x100c6e90
subss xmm1, xmm2
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm7, xmm0
subss xmm6, xmm0
addss xmm6, xmm7
mulss xmm6, dword [0x10141ebc]
addss xmm6, dword [0x10141e50]
mulss xmm6, xmm1
mov edi, dword [esi + 0x1c]
addss xmm6, dword [edi + edx*4]
movss dword [edi + edx*4], xmm6
movss xmm7, dword [esi + 0x60]
ucomiss xmm5, xmm7
jne 0x100c6ea0
jnp 0x100c6fc0
movaps xmm2, xmm5
movss xmm3, dword [eax + 0x18]
ucomiss xmm5, xmm3
ja 0x100c6fc0
movss xmm5, dword [eax + 0x14]
ucomiss xmm5, xmm7
ja 0x100c6fc0
ucomiss xmm5, xmm2
jbe 0x100c6ef3
movss xmm1, dword [esi + 0x20]
movss xmm0, dword [esi + 0x10]
subss xmm1, xmm0
movaps xmm6, xmm5
subss xmm6, xmm2
mulss xmm6, xmm1
movss xmm7, dword [esi + 0x60]
movaps xmm1, xmm7
subss xmm1, xmm2
divss xmm6, xmm1
addss xmm6, xmm0
jmp 0x100c6f00
movss xmm6, dword [esi + 0x10]
movaps xmm5, xmm2
movss xmm7, dword [esi + 0x60]
ucomiss xmm7, xmm3
movss xmm0, dword [esi + 0x20]
movaps xmm1, xmm7
jbe 0x100c6f3b
movss xmm2, dword [esi + 0x20]
movaps xmm1, xmm2
subss xmm1, xmm6
movaps xmm0, xmm3
movss xmm7, dword [esi + 0x60]
subss xmm0, xmm7
mulss xmm0, xmm1
movaps xmm1, xmm7
subss xmm1, xmm5
divss xmm0, xmm1
addss xmm0, xmm2
movaps xmm1, xmm3
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm6
jb 0x100c6f6c
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm0
jb 0x100c6f6c
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
movss xmm7, dword [esi + 0x60]
jmp 0x100c6fc0
ucomiss xmm6, dword [esi + 0x10]
movss xmm7, dword [esi + 0x60]
jb 0x100c6f7d
ucomiss xmm0, dword [esi + 0x10]
jae 0x100c6fc0
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
movss xmm2, dword [esi + 0x20]
subss xmm6, xmm2
subss xmm0, xmm2
addss xmm0, xmm6
mulss xmm0, dword [0x10141ebc]
addss xmm0, dword [0x10141e50]
mulss xmm0, xmm1
mov edi, dword [esi + 0x1c]
addss xmm0, dword [edi + edx*4]
movss dword [edi + edx*4], xmm0
nop dword [eax + eax]
ucomiss xmm7, dword [esi + 8]
jne 0x100c6fcc
jnp 0x100c6630
movss xmm3, dword [eax + 0x18]
ucomiss xmm7, xmm3
ja 0x100c6630
movss xmm4, dword [eax + 0x14]
ucomiss xmm4, dword [esi + 8]
ja 0x100c6630
ucomiss xmm4, xmm7
jbe 0x100c7017
movaps xmm1, xmmword [esi + 0x70]
movss xmm0, dword [esi + 0x20]
subss xmm1, xmm0
movaps xmm6, xmm4
subss xmm6, xmm7
mulss xmm6, xmm1
movss xmm5, dword [esi + 8]
movaps xmm1, xmm5
subss xmm1, xmm7
jmp 0x100c70c2
movss xmm6, dword [esi + 0x20]
movaps xmm4, xmm7
jmp 0x100c70d4
ucomiss xmm6, dword [esi + 0x10]
movss xmm2, dword [esi + 0x60]
jb 0x100c7035
ucomiss xmm3, dword [esi + 0x10]
jae 0x100c7070
subss xmm1, xmm4
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm6, xmm0
subss xmm3, xmm0
addss xmm3, xmm6
mulss xmm3, dword [0x10141ebc]
addss xmm3, dword [0x10141e50]
mulss xmm3, xmm1
mov edi, dword [esi + 0x1c]
addss xmm3, dword [edi + edx*4]
movss dword [edi + edx*4], xmm3
ucomiss xmm2, dword [esi + 8]
jne 0x100c707c
jnp 0x100c6630
movss xmm3, dword [eax + 0x18]
ucomiss xmm2, xmm3
ja 0x100c6630
movss xmm4, dword [eax + 0x14]
ucomiss xmm4, dword [esi + 8]
ja 0x100c6630
ucomiss xmm4, xmm2
jbe 0x100c70cc
movaps xmm1, xmmword [esi + 0x70]
movss xmm0, dword [esi + 0x20]
subss xmm1, xmm0
movaps xmm6, xmm4
subss xmm6, xmm2
mulss xmm6, xmm1
movss xmm5, dword [esi + 8]
movaps xmm1, xmm5
subss xmm1, xmm2
divss xmm6, xmm1
addss xmm6, xmm0
jmp 0x100c70d9
movss xmm6, dword [esi + 0x20]
movaps xmm4, xmm2
movss xmm5, dword [esi + 8]
ucomiss xmm5, xmm3
movaps xmm0, xmmword [esi + 0x70]
jbe 0x100c710f
movaps xmm2, xmmword [esi + 0x70]
movaps xmm1, xmm2
subss xmm1, xmm6
movaps xmm0, xmm3
movss xmm7, dword [esi + 8]
subss xmm0, xmm7
mulss xmm0, xmm1
movaps xmm1, xmm7
subss xmm1, xmm4
divss xmm0, xmm1
addss xmm0, xmm2
movaps xmm5, xmm3
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm6
movss xmm3, dword [esi + 0x10]
jb 0x100c7143
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm0
jb 0x100c7143
subss xmm5, xmm4
mulss xmm5, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm5, dword [edi + edx*4]
movss dword [edi + edx*4], xmm5
jmp 0x100c6630
ucomiss xmm6, xmm3
jb 0x100c7152
ucomiss xmm0, dword [esi + 0x10]
jae 0x100c6630
subss xmm5, xmm4
mulss xmm5, dword [eax + 0x10]
movss xmm2, dword [esi + 0x20]
subss xmm6, xmm2
subss xmm0, xmm2
addss xmm0, xmm6
mulss xmm0, dword [0x10141ebc]
addss xmm0, dword [0x10141e50]
mulss xmm0, xmm5
mov edi, dword [esi + 0x1c]
addss xmm0, dword [edi + edx*4]
movss dword [edi + edx*4], xmm0
jmp 0x100c6630
ucomiss xmm0, dword [esi + 0x10]
movss xmm7, dword [esi + 0x90]
jb 0x100c71aa
ucomiss xmm3, dword [esi + 0x10]
jae 0x100c6c20
subss xmm6, xmm4
mulss xmm6, dword [eax + 0x10]
movss xmm1, dword [esi + 0x20]
subss xmm0, xmm1
subss xmm3, xmm1
addss xmm3, xmm0
mulss xmm3, dword [0x10141ebc]
addss xmm3, dword [0x10141e50]
mulss xmm3, xmm6
mov edi, dword [esi + 0x1c]
addss xmm3, dword [edi + edx*4]
movss dword [edi + edx*4], xmm3
jmp 0x100c6c20
movss xmm7, dword [eax + 0xc]
ucomiss xmm6, xmm5
mov edx, dword [esi + 0x1c]
jbe 0x100c722a
movaps xmm1, xmm3
subss xmm1, xmm0
movss xmm2, dword [esi + 8]
addss xmm1, xmm2
movaps xmm0, xmm3
subss xmm0, xmm4
addss xmm0, xmm2
xorps xmm7, xmmword [0x10141310]
mov ebx, edi
movaps xmm4, xmm1
movaps xmm2, xmm6
movaps xmm6, xmm3
movaps xmm1, xmmword [esi + 0x70]
jmp 0x100c723b
mov ebx, ecx
mov ecx, edi
movaps xmm2, xmm5
movaps xmm5, xmm6
movaps xmm1, xmmword [esi + 0x40]
movaps xmm6, xmm3
movaps xmm3, xmm7
mov dword [esi + 0x70], ecx
lea edi, [ecx + 1]
xorps xmm7, xmm7
cvtsi2ss xmm7, edi
subss xmm7, xmm1
movaps xmmword [esi + 0x20], xmm3
mulss xmm7, xmm3
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
addss xmm7, xmm6
movss xmm3, dword [eax + 0x10]
subss xmm5, xmm1
movaps xmm6, xmm7
subss xmm6, xmm0
movss dword [esi + 0x60], xmm3
mulss xmm6, xmm3
movss xmm1, dword [0x10141e50]
addss xmm5, xmm1
mulss xmm5, dword [0x10141ebc]
addss xmm5, xmm1
mulss xmm5, xmm6
addss xmm5, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm5
mov ecx, ebx
sub ecx, edi
jle 0x100c6291
movaps xmm5, xmmword [esi + 0x20]
movss xmm1, dword [esi + 0x60]
mulss xmm5, xmm1
movaps xmm3, xmm5
mulss xmm3, dword [0x10141dd0]
mov edx, dword [esi + 0x70]
not edx
add edx, ebx
test dl, 1
je 0x100c72ef
movaps xmm1, xmm3
addss xmm1, xmm6
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x70]
addss xmm1, dword [edx + edi*4 + 4]
movss dword [edx + edi*4 + 4], xmm1
addss xmm6, xmm5
add edi, 2
lea edx, [ebx - 2]
cmp edx, dword [esi + 0x70]
mov edx, dword [esi + 0x1c]
je 0x100c6291
nop
movaps xmm1, xmm3
addss xmm1, xmm6
addss xmm1, dword [edx + edi*4]
movss dword [edx + edi*4], xmm1
addss xmm6, xmm5
movaps xmm1, xmm3
addss xmm1, xmm6
addss xmm1, dword [edx + edi*4 + 4]
movss dword [edx + edi*4 + 4], xmm1
addss xmm6, xmm5
add edi, 2
cmp ebx, edi
jne 0x100c7300
jmp 0x100c6291
movaps xmm0, xmm6
ucomiss xmm5, xmm2
jb 0x100c743f
ucomiss xmm5, dword [esi + 0x40]
jb 0x100c743f
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
mov ecx, dword [esi + 0x148]
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
jmp 0x100c6310
lea edx, [ecx + 1]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
ucomiss xmm0, xmm4
jb 0x100c737e
ucomiss xmm2, xmm4
jae 0x100c73b4
subss xmm5, xmm3
mulss xmm5, dword [eax + 0x10]
subss xmm0, xmm1
subss xmm2, xmm1
addss xmm2, xmm0
mulss xmm2, dword [0x10141ebc]
addss xmm2, dword [0x10141e50]
mulss xmm2, xmm5
mov edx, dword [esi + 0x1c]
addss xmm2, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm2
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm0
ja 0x100c6310
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100c6310
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm2, xmmword [esi + 0x40]
jbe 0x100c740a
movaps xmm4, xmmword [esi + 0x40]
movaps xmm3, xmm4
subss xmm3, xmm4
movaps xmm2, xmm1
subss xmm2, dword [esi + 0xc]
mulss xmm2, xmm3
divss xmm2, dword [esi + 0x13c]
addss xmm2, xmm4
movaps xmm3, xmm1
movss xmm5, dword [esi + 8]
ucomiss xmm5, xmm0
jbe 0x100c748e
movaps xmm6, xmmword [esi + 0x40]
movaps xmm1, xmm6
subss xmm1, xmm2
movaps xmm4, xmm0
subss xmm4, xmm5
mulss xmm4, xmm1
movaps xmm1, xmm5
subss xmm1, xmm3
divss xmm4, xmm1
addss xmm6, xmm4
movaps xmmword [esi + 0x40], xmm6
jmp 0x100c7491
ucomiss xmm2, dword [0x10141e50]
jb 0x100c7459
movaps xmm1, xmmword [esi + 0x40]
ucomiss xmm1, dword [0x10141e50]
jae 0x100c6310
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
addss xmm2, dword [esi + 0x40]
mulss xmm2, dword [0x10141ebc]
addss xmm2, dword [0x10141e50]
mulss xmm2, xmm0
mov ecx, dword [esi + 0x148]
addss xmm2, dword [ecx]
movss dword [ecx], xmm2
jmp 0x100c6310
movaps xmm0, xmm5
lea edx, [ecx + 1]
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
ucomiss xmm1, xmm2
jb 0x100c74c4
ucomiss xmm1, dword [esi + 0x40]
jb 0x100c74c4
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
mov edx, dword [esi + 0x140]
addss xmm0, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm0
jmp 0x100c6310
lea edx, [ecx + 2]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
ucomiss xmm2, xmm4
jb 0x100c74e0
movaps xmm5, xmmword [esi + 0x40]
ucomiss xmm5, xmm4
jae 0x100c6310
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
subss xmm2, xmm1
movaps xmm3, xmmword [esi + 0x40]
subss xmm3, xmm1
addss xmm3, xmm2
mulss xmm3, dword [0x10141ebc]
addss xmm3, dword [0x10141e50]
mulss xmm3, xmm0
mov edx, dword [esi + 0x140]
addss xmm3, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm3
jmp 0x100c6310
cmp dword [esi + 0xcc], 0x7ffffffe
movss xmm2, dword [0x10141dd0]
movaps xmm3, xmmword [0x10142200]
movss xmm4, dword [0x10144090]
mov ecx, dword [esi + 0x15c]
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x108]
mov ebx, 0xff
ja 0x100c75b7
xor eax, eax
xorps xmm0, xmm0
nop dword [eax]
addss xmm0, dword [edx + eax*4]
movss xmm1, dword [edi + eax*4]
addss xmm1, xmm0
andps xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm2
mov edx, edi
mov edi, ecx
cvttss2si ecx, xmm1
cmp ecx, 0xff
cmovge ecx, ebx
mov ebx, dword [esi + 0xe0]
mov byte [ebx + eax], cl
mov ebx, 0xff
mov ecx, edi
mov edi, edx
mov edx, dword [esi + 0x108]
inc eax
cmp ecx, eax
jne 0x100c7570
mov ebx, dword [esi + 0xe0]
cmp dword [esi + 0x118], 0
mov edi, dword [esi + 0x1b4]
je 0x100c6150
mov ecx, dword [esi + 0x118]
lea eax, [esi + 0xe8]
nop dword [eax]
movss xmm0, dword [ecx + 8]
addss xmm0, dword [ecx + 4]
movss dword [ecx + 4], xmm0
mov eax, dword [eax]
mov ecx, dword [eax]
test ecx, ecx
jne 0x100c75e0
jmp 0x100c6150
cmp dword [esi + 0x150], 0
setne al
cmp dword [esi + 0x158], 0
sete ah
and ah, al
mov byte [esi + 0x20], ah
lea ebx, [edx + 4]
mov ecx, edx
mov eax, edi
jmp 0x100c765a
mov ecx, dword [esi + 0xe8]
mov dword [eax], ecx
mov dword [esi + 0xe8], eax
mov ecx, ebx
lea edx, [ecx + 0x14]
movss xmm0, dword [ecx + 0x18]
add ecx, 0x18
ucomiss xmm5, xmm0
mov ebx, ecx
mov ecx, edx
mov eax, edi
jb 0x100c6254
movss xmm1, dword [ecx + 0xc]
ucomiss xmm0, xmm1
jne 0x100c7666
jnp 0x100c7680
test eax, eax
je 0x100c7690
mov edi, dword [eax]
jmp 0x100c7714
mov edi, eax
jmp 0x100c7640
mov dword [esi + 0x60], ecx
mov edx, dword [esi + 0x124]
test edx, edx
je 0x100c76a6
dec edx
mov ecx, dword [esi + 0xf0]
jmp 0x100c76f6
mov dword [esi + 0x70], ebx
mov dword [esi + 0x458], 7
push 0xdac4
call fcn.100a46d0
add esp, 4
test eax, eax
movss xmm2, dword [esi + 0x154]
mov ecx, dword [esi + 0xf0]
movss xmm5, dword [esi + 8]
mov ebx, dword [esi + 0x70]
je 0x100c77b2
mov dword [eax], ecx
mov ecx, dword [esi + 0x60]
movss xmm1, dword [ecx + 0xc]
movss xmm0, dword [ebx]
mov edx, 0x7cf
mov ecx, eax
xorps xmm3, xmm3
lea eax, [edx + edx*8]
lea eax, [eax + eax*2]
mov dword [esi + 0x124], edx
add eax, edx
mov dword [esi + 0xf0], ecx
add eax, ecx
add eax, 4
xor edi, edi
mov ecx, dword [esi + 0x60]
subss xmm1, xmm0
movss xmm0, dword [ecx + 8]
subss xmm0, dword [ecx]
divss xmm0, xmm1
movss dword [eax + 8], xmm0
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100c7734
jnp 0x100c7740
movss xmm1, dword [0x10141e50]
divss xmm1, xmm0
movss dword [eax + 0xc], xmm1
movss xmm4, dword [esi + 0xc]
movaps xmm1, xmm4
subss xmm1, dword [ebx]
mulss xmm0, xmm1
addss xmm0, dword [ecx]
subss xmm0, xmm2
movss dword [eax + 4], xmm0
mov edx, ecx
xor ecx, ecx
cmp dword [edx + 0x10], 0
sete cl
movss xmm0, dword [ecx*4 + 0x10146b68]
movss dword [eax + 0x10], xmm0
movss xmm0, dword [ebx]
movss dword [eax + 0x14], xmm0
mov ebx, edx
movss xmm0, dword [edx + 0xc]
movss dword [eax + 0x18], xmm0
mov dword [eax], 0
ucomiss xmm4, xmm0
seta cl
and cl, byte [esi + 0x20]
cmp cl, 1
jne 0x100c7630
movss dword [eax + 0x18], xmm4
jmp 0x100c7630
mov dword [esi + 0xf0], ecx
xor edi, edi
mov dword [esi + 0x124], 0
xorps xmm3, xmm3
mov ecx, dword [esi + 0x60]
jmp 0x100c7640
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x100c780b
mov dword [esi + 0x458], 7
nop word cs:[eax + eax]
mov ecx, dword [eax]
mov dword [esi + 0xf0], ecx
push eax
call fcn.100a4700
add esp, 4
mov eax, dword [esi + 0xf0]
test eax, eax
jne 0x100c77f0
mov dword [esi + 0x458], 7
lea eax, [esi + 0x208]
cmp dword [esi + 0x1c], eax
je 0x100c782b
push dword [esi + 0x1c]
call fcn.100a4700
add esp, 4
push dword [esi + 0x8c]
call fcn.100a4700
add esp, 4
push dword [esi + 0xc8]
call fcn.100a4700
mov eax, dword [esi + 0x5c]
add esp, 4
push eax
call fcn.100a4700
add esp, 4
jmp 0x100c557b
mov eax, dword [esi + 0x38]
add eax, ecx
add eax, 0x94
mov dword [esi + 0x40], eax
mov edx, dword [esi + 0x160]
imul eax, edx, 0x78
mov edi, dword [esi + 0x19c]
movss xmm1, dword [edi + eax + 0x44]
movaps xmmword [esi + 0x70], xmm1
ucomiss xmm1, dword [0x10141e50]
xorps xmm3, xmm3
jne 0x100c7898
jnp 0x100c4af0
mov eax, dword [esi + 0x38]
add eax, ecx
add eax, 0xa8
mov dword [esi + 0xc], eax
movaps xmm1, xmmword [esi + 0x70]
shufps xmm1, xmm1, 0
movaps xmmword [esi + 0x70], xmm1
xor edx, edx
movaps xmm6, xmmword [0x101422c0]
movaps xmm2, xmmword [0x1014d210]
movaps xmm1, xmmword [str._b_t_n_v]
movaps xmmword [esi + 0x20], xmm1
movaps xmm7, xmmword [0x1014d1f0]
nop word cs:[eax + eax]
movaps xmmword [esi + 0x60], xmm7
movaps xmmword [esi + 0xb0], xmm2
movaps xmmword [esi + 0xd0], xmm6
movaps xmm3, xmmword [esi + 0xb0]
movaps xmm0, xmmword [0x1014d220]
andps xmm3, xmm0
movaps xmm1, xmmword [0x1014d230]
orps xmm3, xmm1
movdqa xmm5, xmmword [esi + 0xb0]
psrld xmm5, 0x10
movaps xmm4, xmmword [0x1014d250]
movdqa xmm2, xmmword [0x1014d240]
por xmm5, xmm2
subps xmm5, xmm4
addps xmm5, xmm3
movaps xmm3, xmm6
andps xmm3, xmm0
orps xmm3, xmm1
movdqa xmm6, xmmword [esi + 0xd0]
psrld xmm6, 0x10
por xmm6, xmm2
subps xmm6, xmm4
addps xmm6, xmm3
movaps xmm3, xmm7
andps xmm3, xmm0
orps xmm3, xmm1
movdqa xmm7, xmmword [esi + 0x60]
psrld xmm7, 0x10
por xmm7, xmm2
subps xmm7, xmm4
addps xmm7, xmm3
movaps xmm3, xmmword [esi + 0x20]
movaps xmm0, xmm3
movaps xmmword [esi + 0x20], xmm3
andps xmm0, xmmword [0x1014d220]
orps xmm0, xmm1
psrld xmm3, 0x10
por xmm3, xmm2
subps xmm3, xmm4
addps xmm3, xmm0
movaps xmm0, xmmword [esi + 0x70]
mulps xmm3, xmm0
mulps xmm7, xmm0
mulps xmm6, xmm0
mulps xmm5, xmm0
cvttps2dq xmm2, xmm5
movdqa xmm0, xmm2
psrad xmm0, 0x1f
movaps xmm1, xmmword [0x1014d260]
subps xmm5, xmm1
cvttps2dq xmm5, xmm5
pand xmm5, xmm0
por xmm5, xmm2
cvttps2dq xmm0, xmm6
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm6, xmm1
cvttps2dq xmm6, xmm6
pand xmm6, xmm2
por xmm6, xmm0
cvttps2dq xmm0, xmm7
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm7, xmm1
cvttps2dq xmm7, xmm7
pand xmm7, xmm2
por xmm7, xmm0
cvttps2dq xmm0, xmm3
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm3, xmm1
cvttps2dq xmm1, xmm3
pand xmm1, xmm2
por xmm1, xmm0
movdqa xmm0, xmm1
movdqa xmm2, xmmword [0x10141310]
pxor xmm0, xmm2
movdqa xmm4, xmmword [0x1014d270]
movdqa xmm3, xmm4
pcmpgtd xmm3, xmm0
pand xmm1, xmm3
movdqa xmm0, xmmword [0x10144220]
pandn xmm3, xmm0
por xmm3, xmm1
movdqa xmm0, xmm7
pxor xmm0, xmm2
movdqa xmm1, xmm4
pcmpgtd xmm1, xmm0
pand xmm7, xmm1
pandn xmm1, xmmword [0x10144220]
por xmm1, xmm7
packuswb xmm3, xmm1
movdqa xmm0, xmm6
pxor xmm0, xmm2
movdqa xmm7, xmm4
pcmpgtd xmm7, xmm0
pand xmm6, xmm7
movdqa xmm0, xmmword [0x10144220]
pandn xmm7, xmm0
por xmm7, xmm6
movdqa xmm6, xmmword [esi + 0xd0]
movdqa xmm0, xmm5
pxor xmm0, xmm2
movdqa xmm1, xmm4
pcmpgtd xmm1, xmm0
pand xmm5, xmm1
pandn xmm1, xmmword [0x10144220]
por xmm1, xmm5
packuswb xmm7, xmm1
packuswb xmm7, xmm3
movdqa xmm2, xmmword [esi + 0xb0]
movdqu xmmword [esi + edx + 0x208], xmm7
movdqa xmm7, xmmword [esi + 0x60]
add edx, 0x10
movdqa xmm0, xmmword [0x1014d280]
paddd xmm6, xmm0
paddd xmm2, xmm0
movdqa xmm1, xmmword [esi + 0x20]
paddd xmm1, xmm0
movdqa xmmword [esi + 0x20], xmm1
paddd xmm7, xmm0
cmp edx, 0x100
jne 0x100c78e0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
test eax, eax
mov edx, dword [esi + 0x160]
pxor xmm3, xmm3
movaps xmm0, xmmword [0x10141310]
jle 0x100c4af0
mov ecx, dword [esi + 0x40]
mov ecx, dword [ecx]
xor edi, edi
jmp 0x100c7b60
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov edx, dword [esi + 0x160]
mov ecx, dword [esi + 0x70]
mov edi, dword [esi + 0x90]
inc edi
add ecx, 0x10
cmp edi, eax
jge 0x100c4af0
cmp dword [ecx + 0xc], 0
je 0x100c7b54
movzx ebx, word [ecx + 6]
mov dword [esi + 0x20], ebx
test ebx, ebx
je 0x100c7b54
mov dword [esi + 0x90], edi
mov eax, dword [esi + 0x1b0]
mov edx, dword [eax]
movzx ebx, word [ecx + 4]
movzx eax, word [ecx + 8]
mov dword [esi + 0x70], ecx
movzx edi, word [ecx + 0xa]
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x14]
mov dword [esi + 0xd0], edx
imul edi, edx
add edi, eax
mov word [esi + 0xb0], bx
movzx eax, bx
mov edx, eax
and edx, 3
and eax, 0xfffffffc
mov dword [esi + 0x60], eax
jmp 0x100c7bd8
mov ecx, dword [esi + 0x20]
lea eax, [ecx - 1]
add edi, dword [esi + 0xd0]
cmp ecx, 1
mov dword [esi + 0x20], eax
jle 0x100c7b40
cmp word [esi + 0xb0], 0
je 0x100c7bc0
xor ecx, ecx
cmp word [esi + 0xb0], 4
mov ebx, dword [esi + 0x60]
jb 0x100c7c49
xor ecx, ecx
nop word cs:[eax + eax]
movzx eax, byte [edi + ecx]
movzx eax, byte [esi + eax + 0x208]
mov byte [edi + ecx], al
movzx eax, byte [edi + ecx + 1]
movzx eax, byte [esi + eax + 0x208]
mov byte [edi + ecx + 1], al
movzx eax, byte [edi + ecx + 2]
movzx eax, byte [esi + eax + 0x208]
mov byte [edi + ecx + 2], al
movzx eax, byte [edi + ecx + 3]
movzx eax, byte [esi + eax + 0x208]
mov byte [edi + ecx + 3], al
add ecx, 4
cmp ebx, ecx
jne 0x100c7c00
test edx, edx
je 0x100c7bc0
add ecx, edi
xor ebx, ebx
nop word cs:[eax + eax]
movzx eax, byte [ecx + ebx]
movzx eax, byte [esi + eax + 0x208]
mov byte [ecx + ebx], al
inc ebx
cmp edx, ebx
jne 0x100c7c60
jmp 0x100c7bc0
mov dword [esi + 0x458], 7
push dword [esi + 0xf4]
call fcn.100a4700
add esp, 4
push dword [esi + 0xec]
call fcn.100a4700
add esp, 4
mov eax, dword [esi + 0x138]
test eax, eax
je 0x100c7cd0
mov dword [esi + 0x134], 0
mov dword [esi + 0x130], 0
push eax
call fcn.100a4700
add esp, 4
mov dword [esi + 0x138], 0
xor ecx, ecx
mov eax, dword [esi + 0x38]
jmp 0x100c7ce4
mov ecx, dword [esi + 0x18]
inc ecx
cmp ecx, dword [esi + 0xc4]
jge 0x100c7fea
mov dword [esi + 0x18], ecx
imul edx, ecx, 0xc4
cmp dword [eax + edx + 0xa8], 0
je 0x100c7ce0
mov ecx, dword [eax + edx + 4]
mov dword [esi + 0x20], edx
mov edx, dword [eax + edx + 0x1c]
movzx eax, byte [ecx + edx + 4]
shl eax, 8
movzx edi, byte [ecx + edx + 5]
cwde
or eax, edi
movss xmm0, dword [0x10141e70]
test ax, ax
jle 0x100c7d33
movss xmm0, dword [0x10141e50]
movzx edi, byte [ecx + edx + 6]
shl edi, 8
movzx edx, byte [ecx + edx + 7]
movsx ecx, di
or ecx, edx
movss xmm1, dword [0x10141e70]
test cx, cx
jle 0x100c7d5a
movss xmm1, dword [0x10141e50]
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x54]
imul ebx, dword [esi + 0x18], 0x78
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
sub eax, ecx
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movss xmm4, dword [edi + ebx + 0x10]
cvtsi2ss xmm5, ecx
divss xmm4, xmm3
lea eax, [edi + ebx]
mov dword [esi + 0xb0], edi
mov dword [esi + 0x14], ebx
mov ecx, dword [edi + ebx + 0x74]
mulss xmm2, xmm4
addss xmm2, xmm0
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm5, xmm4
addss xmm5, xmm1
cvttps2dq xmm1, xmm5
cvtdq2ps xmm1, xmm1
mov dword [esi + 0x458], 7
sub esp, 0x14
mov dword [esp + 8], eax
mov dword [esi + 0x70], ecx
mov dword [esp + 4], ecx
mov dword [esp], edx
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm0
call fcn.100c9350
add esp, 0x14
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x20]
lea edi, [eax + ecx]
add edi, 0xa8
mov edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x14]
movss xmm0, dword [edx + ebx + 0x28]
movss dword [esi + 0xd0], xmm0
mov ecx, dword [esi + 0x70]
movss xmm0, dword [ecx + 0x4c]
addss xmm0, dword [0x10141dd0]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edx + ebx + 0x2c]
movaps xmmword [esi + 0x90], xmm0
lea ecx, [edx + ebx]
add ecx, 0x38
mov dword [esi + 0x60], ecx
xor ebx, ebx
mov dword [esi + 0xc], edi
cmp ebx, dword [edi]
jge 0x100c7ce0
nop
mov eax, dword [edi - 0x10]
lea ecx, [ebx + ebx*8]
lea ecx, [ecx + ecx*2]
add ecx, ebx
movss xmm2, dword [eax + ecx + 0x10]
mov edx, dword [esi + 0x60]
movss xmm1, dword [edx]
movss xmm3, dword [edx - 4]
minss xmm1, xmm2
movaps xmm6, xmm2
cmpltss xmm6, xmm3
movaps xmm4, xmm6
andnps xmm4, xmm1
andps xmm6, xmm3
orps xmm6, xmm4
ucomiss xmm2, xmm6
movss xmm3, dword [esi + 0xd0]
jne 0x100c7e84
jnp 0x100c7eab
mov edx, dword [esi + 0x60]
cmp byte [edx - 0x1c], 0
movaps xmm3, xmm6
subss xmm3, xmm2
mulss xmm3, dword [0x10141dd0]
je 0x100c7ea3
cvttps2dq xmm1, xmm3
cvtdq2ps xmm3, xmm1
addss xmm3, dword [esi + 0xd0]
movzx edx, word [eax + ecx]
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
movzx edx, word [eax + ecx + 2]
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
movss dword [esi + 0x20], xmm1
movzx edx, word [eax + ecx + 4]
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
movss dword [esi + 0x14], xmm1
movzx edx, word [eax + ecx + 6]
xorps xmm2, xmm2
cvtsi2ss xmm2, edx
mov edx, dword [ebp + 8]
xorps xmm5, xmm5
cvtsi2ss xmm5, dword [edx + 0x20]
movss xmm1, dword [0x10141e50]
movaps xmm7, xmm1
divss xmm7, xmm5
xorps xmm5, xmm5
cvtsi2ss xmm5, dword [edx + 0x1c]
divss xmm1, xmm5
movss xmm5, dword [eax + ecx + 8]
xorps xmm4, xmm4
addss xmm5, xmm4
mulss xmm0, xmm1
movss dword [esi + 0xb0], xmm0
movss xmm4, dword [esi + 0x14]
mulss xmm4, xmm1
movss xmm1, dword [eax + ecx + 0xc]
movss xmm0, dword [esi + 0x20]
mulss xmm0, xmm7
movss dword [esi + 0x20], xmm0
mulss xmm2, xmm7
movss xmm7, dword [eax + ecx + 0x14]
xorps xmm0, xmm0
addss xmm7, xmm0
addss xmm7, xmm3
addss xmm5, xmm3
movss xmm3, dword [eax + ecx + 0x18]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + ebx*4]
addss xmm1, xmm0
addss xmm3, xmm0
movaps xmm0, xmmword [esi + 0x90]
addss xmm3, xmm0
addss xmm1, xmm0
sub esp, 0x28
movss dword [esp + 0x24], xmm6
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x1c], xmm4
movss xmm0, dword [esi + 0x20]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0xb0]
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x10], xmm3
movss dword [esp + 0xc], xmm7
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm5
movzx eax, ax
mov dword [esp], eax
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x20], ebx
call fcn.100c9440
mov ebx, dword [esi + 0x20]
inc ebx
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0xc]
cmp ebx, dword [edi]
jl 0x100c7e40
jmp 0x100c7ce0
cmp dword [esi + 0xc4], 0
jle 0x100c804c
lea ecx, [eax + 0xc0]
jmp 0x100c800e
add ecx, 0xc4
dec dword [esi + 0xc4]
je 0x100c804c
mov eax, dword [ecx]
test eax, eax
mov dword [esi + 0x20], ecx
je 0x100c802d
mov dword [esi + 0x458], 0
push eax
call fcn.100a4700
mov ecx, dword [esi + 0x20]
add esp, 4
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x100c8000
mov dword [esi + 0x458], 1
push eax
call fcn.100a4700
mov ecx, dword [esi + 0x20]
add esp, 4
jmp 0x100c8000
mov dword [esi + 0x458], 7
push dword [ebp + 8]
call fcn.100c9600
add esp, 4
mov eax, dword [esi + 0x174]
test eax, eax
je 0x100c807e
mov dword [esi + 0x458], 2
push eax
call fcn.100a4700
add esp, 4
mov eax, dword [esi + 0x138]
test eax, eax
je 0x100c809b
mov dword [esi + 0x458], 3
push eax
call fcn.100a4700
add esp, 4
mov al, 1
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x100c80bd
mov dword [esi + 0x458], 5
push ecx
mov dword [esi + 0x20], eax
call fcn.100a4700
mov eax, dword [esi + 0x20]
add esp, 4
mov ecx, dword [esi + 0x450]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret