Function at 0x100c65e0
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, 0x440
mov esi, esp
mov dword [esi + 0x428], ebp
mov edi, dword [ebp + 8]
mov dword [esi + 0x42c], esp
mov dword [esi + 0x438], 0xffffffff
lea eax, [esi + 0x430]
mov dword [esi + 0x434], 0x100d2680
mov ecx, dword fs:[0]
mov dword [esi + 0x430], ecx
mov dword fs:[0], eax
push edi
call fcn.100cc5c0
add esp, 4
mov dword [edi + 8], 0
xorps xmm0, xmm0
movups xmmword [edi + 0x20], xmm0
mov dword [edi + 0x34], 0
mov dword [edi + 0x30], 0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x100c6662
push eax
call fcn.100a6500
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x100c6675
push eax
call fcn.100a6500
add esp, 4
xorps xmm0, xmm0
mov eax, dword [ebp + 8]
movlps qword [eax + 0x18], xmm0
mov eax, dword [eax + 0x50]
mov dword [esi + 0x60], 0
mov ecx, 0
mov dword [esi + 0xb0], eax
test eax, eax
jle 0x100c66d8
mov ecx, dword [esi + 0xb0]
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 + 0x438], 6
push eax
call fcn.100a64d0
add esp, 4
mov ecx, eax
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x38]
test edi, edi
mov dword [esi + 0x24], ecx
mov dword [esi + 0x7c], edi
jle 0x100c6725
cmp edi, 9
mov eax, 8
cmovge eax, edi
shl eax, 3
lea eax, [eax + eax*2]
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], ecx
mov dword [esi + 0x438], 6
push eax
call fcn.100a64d0
mov ecx, dword [esi + 0x24]
add esp, 4
mov dword [esi + 0x60], eax
mov edi, dword [esi + 0x7c]
imul eax, dword [esi + 0xb0], 0xc4
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [edi*8]
lea eax, [eax + eax*2]
push eax
push 0
push dword [esi + 0x60]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x50], 0
jle 0x100c7951
xorps xmm0, xmm0
movsd xmm1, qword [0x10162b80]
xor ecx, ecx
mov dword [esi + 0x80], ecx
imul ecx, ecx, 0xc4
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x58]
mov dword [esi + 0x40], edx
mov dword [esi + 0xc0], ecx
mov edx, dword [esi + 0x24]
mov dword [edx + ecx + 0xa0], 0xffffffff
mov eax, dword [eax + 0x38]
test eax, eax
jle 0x100c7930
mov edi, dword [esi + 0xc0]
mov ecx, dword [esi + 0x24]
add ecx, edi
mov dword [esi + 0x10], ecx
imul ecx, dword [esi + 0x80], 0x7c
mov ebx, dword [esi + 0x40]
lea edx, [ebx + ecx]
mov dword [esi + 0x90], edx
mov edx, dword [esi + 0x24]
lea edx, [edx + edi + 0xa0]
mov dword [esi + 0xa4], edx
mov dword [esi + 8], ecx
mov edx, dword [ebx + ecx + 0x78]
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x40]
xor edi, edi
nop word cs:[eax + eax]
cmp edx, dword [ebx + edi*4]
je 0x100c6800
inc edi
cmp edi, eax
jl 0x100c67f0
jmp 0x100c7930
mov eax, dword [esi + 0xa4]
mov dword [eax], edi
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 8]
mov eax, dword [eax + edx + 0xc]
mov ecx, dword [esi + 0x90]
mov edi, dword [ecx]
movzx ecx, byte [edi]
mov edx, 0xffffffff
cmp ecx, 0x4e
jg 0x100c6840
test ecx, ecx
je 0x100c6877
cmp ecx, 0x31
jne 0x100c68f0
cmp byte [edi + 1], 0
jne 0x100c68f0
jmp 0x100c687d
cmp ecx, 0x4f
je 0x100c688b
cmp ecx, 0x74
jne 0x100c68f0
movzx ecx, byte [edi + 1]
cmp ecx, 0x72
je 0x100c689f
cmp ecx, 0x74
je 0x100c68b6
cmp ecx, 0x79
jne 0x100c68f0
cmp byte [edi + 2], 0x70
jne 0x100c68f0
cmp byte [edi + 3], 0x31
je 0x100c68ab
jmp 0x100c68f0
cmp byte [edi + 1], 1
jne 0x100c68f0
cmp byte [edi + 2], 0
jne 0x100c68f0
cmp byte [edi + 3], 0
jne 0x100c68f0
jmp 0x100c68ab
cmp byte [edi + 1], 0x54
jne 0x100c68f0
cmp byte [edi + 2], 0x54
jne 0x100c68f0
cmp byte [edi + 3], 0x4f
je 0x100c68ab
jmp 0x100c68f0
cmp byte [edi + 2], 0x75
jne 0x100c68f0
cmp byte [edi + 3], 0x65
jne 0x100c68f0
neg eax
mov edx, 0
sbb edx, edx
jmp 0x100c68f0
cmp byte [edi + 2], 0x63
jne 0x100c68f0
cmp byte [edi + 3], 0x66
jne 0x100c68f0
mov ecx, dword [edi + 4]
bswap ecx
cmp ecx, 0x20000
je 0x100c68d7
cmp ecx, 0x10000
jne 0x100c68f0
mov ecx, dword [edi + 8]
bswap ecx
cmp ecx, eax
jle 0x100c68f0
mov edx, dword [edi + eax*4 + 0xc]
bswap edx
nop word cs:[eax + eax]
mov eax, dword [esi + 0x10]
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0x34], 0
movlps qword [eax + 0x38], xmm0
movzx eax, word [edi + edx + 4]
rol ax, 8
xor ebx, ebx
mov dword [esi + 0x90], 0
mov ecx, 0
test ax, ax
mov dword [esi + 0x30], edi
mov dword [esi + 0xc], edx
je 0x100c69c5
mov ecx, edx
movzx edx, ax
add ecx, edi
add ecx, 0x17
mov edi, edx
shl edi, 4
xor eax, eax
jmp 0x100c6947
add eax, 0x10
cmp edi, eax
je 0x100c6980
cmp byte [ecx + eax - 0xb], 0x63
jne 0x100c6940
cmp byte [ecx + eax - 0xa], 0x6d
jne 0x100c6940
cmp byte [ecx + eax - 9], 0x61
jne 0x100c6940
cmp byte [ecx + eax - 8], 0x70
jne 0x100c6940
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0xc]
add edi, ebx
xor ebx, ebx
mov eax, dword [eax + edi + 0x14]
bswap eax
mov dword [esi + 0x90], eax
jmp 0x100c698a
mov dword [esi + 0x90], 0
mov edi, dword [esi + 0x30]
jmp 0x100c6996
add ecx, 0x10
dec edx
je 0x100c69c0
cmp byte [ecx - 0xb], 0x6c
jne 0x100c6990
cmp byte [ecx - 0xa], 0x6f
jne 0x100c6990
cmp byte [ecx - 9], 0x63
jne 0x100c6990
cmp byte [ecx - 8], 0x61
jne 0x100c6990
mov ecx, dword [ecx - 3]
bswap ecx
jmp 0x100c69c2
xor ecx, ecx
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [esi + 0x5c], ecx
mov dword [eax + 0x10], ecx
movzx eax, word [edi + edx + 4]
rol ax, 8
test ax, ax
je 0x100c6a35
movzx eax, ax
lea ecx, [edi + edx]
add ecx, 0x17
shl eax, 4
xor edx, edx
jmp 0x100c69f7
add edx, 0x10
cmp eax, edx
je 0x100c6a30
cmp byte [ecx + edx - 0xb], 0x68
jne 0x100c69f0
cmp byte [ecx + edx - 0xa], 0x65
jne 0x100c69f0
cmp byte [ecx + edx - 9], 0x61
jne 0x100c69f0
cmp byte [ecx + edx - 8], 0x64
jne 0x100c69f0
mov ecx, dword [esi + 0xc]
lea eax, [edi + ecx]
mov ebx, dword [edx + eax + 0x14]
mov edx, ecx
bswap ebx
jmp 0x100c6a35
xor ebx, ebx
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [eax + 0x14], ebx
movzx eax, word [edi + edx + 4]
rol ax, 8
mov dword [esi], 0
mov ecx, 0
test ax, ax
je 0x100c6ab5
movzx eax, ax
lea ecx, [edi + edx]
add ecx, 0x17
shl eax, 4
xor edx, edx
jmp 0x100c6a77
add edx, 0x10
cmp eax, edx
je 0x100c6ab0
cmp byte [ecx + edx - 0xb], 0x67
jne 0x100c6a70
cmp byte [ecx + edx - 0xa], 0x6c
jne 0x100c6a70
cmp byte [ecx + edx - 9], 0x79
jne 0x100c6a70
cmp byte [ecx + edx - 8], 0x66
jne 0x100c6a70
mov ecx, dword [esi + 0xc]
lea eax, [edi + ecx]
mov eax, dword [edx + eax + 0x14]
mov edx, ecx
mov ecx, eax
bswap ecx
jmp 0x100c6ab5
xor ecx, ecx
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [esi + 0x2c], ecx
mov dword [eax + 0x18], ecx
movzx eax, word [edi + edx + 4]
rol ax, 8
test ax, ax
je 0x100c6b29
movzx eax, ax
lea ecx, [edi + edx]
add ecx, 0x17
shl eax, 4
xor edi, edi
jmp 0x100c6ae7
add edi, 0x10
cmp eax, edi
je 0x100c6b20
cmp byte [ecx + edi - 0xb], 0x68
jne 0x100c6ae0
cmp byte [ecx + edi - 0xa], 0x68
jne 0x100c6ae0
cmp byte [ecx + edi - 9], 0x65
jne 0x100c6ae0
cmp byte [ecx + edi - 8], 0x61
jne 0x100c6ae0
mov ecx, dword [esi + 0x30]
lea eax, [ecx + edx]
mov eax, dword [edi + eax + 0x14]
mov edi, ecx
bswap eax
mov dword [esi], eax
jmp 0x100c6b29
mov dword [esi], 0
mov edi, dword [esi + 0x30]
mov dword [esi + 4], ebx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi]
mov dword [eax + 0x1c], ecx
mov ebx, edx
movzx edx, word [edi + edx + 4]
rol dx, 8
xor eax, eax
mov ecx, 0
test dx, dx
je 0x100c6ba8
movzx ecx, dx
add edi, ebx
add edi, 0x17
shl ecx, 4
xor edx, edx
jmp 0x100c6b67
add edx, 0x10
cmp ecx, edx
je 0x100c6ba0
cmp byte [edi + edx - 0xb], 0x68
jne 0x100c6b60
cmp byte [edi + edx - 0xa], 0x6d
jne 0x100c6b60
cmp byte [edi + edx - 9], 0x74
jne 0x100c6b60
cmp byte [edi + edx - 8], 0x78
jne 0x100c6b60
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0xc]
lea ecx, [edi + ebx]
mov ecx, dword [edx + ecx + 0x14]
bswap ecx
jmp 0x100c6ba8
xor ecx, ecx
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [edx + 0x20], ecx
movzx edx, word [edi + ebx + 4]
rol dx, 8
test dx, dx
je 0x100c6c18
movzx eax, dx
add edi, ebx
add edi, 0x17
shl eax, 4
xor edx, edx
jmp 0x100c6bd7
add edx, 0x10
cmp eax, edx
je 0x100c6c10
cmp byte [edi + edx - 0xb], 0x6b
jne 0x100c6bd0
cmp byte [edi + edx - 0xa], 0x65
jne 0x100c6bd0
cmp byte [edi + edx - 9], 0x72
jne 0x100c6bd0
cmp byte [edi + edx - 8], 0x6e
jne 0x100c6bd0
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0xc]
lea eax, [edi + ebx]
mov eax, dword [edx + eax + 0x14]
bswap eax
jmp 0x100c6c18
xor eax, eax
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [edx + 0x24], eax
movzx eax, word [edi + ebx + 4]
rol ax, 8
test ax, ax
je 0x100c6c87
movzx eax, ax
add edi, ebx
add edi, 0x17
shl eax, 4
xor edx, edx
mov ebx, dword [esi + 4]
jmp 0x100c6c47
add edx, 0x10
cmp eax, edx
je 0x100c6c80
cmp byte [edi + edx - 0xb], 0x47
jne 0x100c6c40
cmp byte [edi + edx - 0xa], 0x50
jne 0x100c6c40
cmp byte [edi + edx - 9], 0x4f
jne 0x100c6c40
cmp byte [edi + edx - 8], 0x53
jne 0x100c6c40
mov edi, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
add eax, edi
mov eax, dword [edx + eax + 0x14]
bswap eax
jmp 0x100c6c8c
xor eax, eax
mov edi, dword [esi + 0x30]
jmp 0x100c6c8c
xor eax, eax
mov ebx, dword [esi + 4]
mov edx, dword [esi + 0x10]
mov dword [edx + 0x28], eax
cmp dword [esi + 0x90], 0
mov edx, dword [esi + 0xc]
je 0x100c7930
test ebx, ebx
je 0x100c7930
cmp dword [esi], 0
je 0x100c7930
test ecx, ecx
je 0x100c7930
cmp dword [esi + 0x2c], 0
je 0x100c6d4e
cmp dword [esi + 0x5c], 0
je 0x100c7930
movzx ecx, word [edi + edx + 4]
rol cx, 8
mov eax, 0xffff
test cx, cx
je 0x100c6e62
movzx ecx, cx
add edi, edx
add edi, 0x17
shl ecx, 4
xor edx, edx
jmp 0x100c6d0b
add edx, 0x10
cmp ecx, edx
je 0x100c6e5f
cmp byte [edi + edx - 0xb], 0x6d
jne 0x100c6d00
cmp byte [edi + edx - 0xa], 0x61
jne 0x100c6d00
cmp byte [edi + edx - 9], 0x78
jne 0x100c6d00
cmp byte [edi + edx - 8], 0x70
jne 0x100c6d00
mov edi, dword [esi + 0x30]
mov ecx, dword [esi + 0xc]
add ecx, edi
mov ecx, dword [edx + ecx + 0x14]
bswap ecx
test ecx, ecx
je 0x100c6e62
movzx eax, word [edi + ecx + 4]
rol ax, 8
movzx eax, ax
jmp 0x100c6e62
mov dword [esi + 0x150], 2
mov dword [esi + 0xbc], 0
mov dword [esi + 0xf8], 0
mov dword [esi + 0xf4], 0
movzx eax, word [edi + edx + 4]
rol ax, 8
test ax, ax
je 0x100c7930
movzx eax, ax
mov ecx, dword [esi + 0xc]
add ecx, edi
add ecx, 0x17
shl eax, 4
xor edx, edx
jmp 0x100c6dab
add edx, 0x10
cmp eax, edx
je 0x100c7930
cmp byte [ecx + edx - 0xb], 0x43
jne 0x100c6da0
cmp byte [ecx + edx - 0xa], 0x46
jne 0x100c6da0
cmp byte [ecx + edx - 9], 0x46
jne 0x100c6da0
cmp byte [ecx + edx - 8], 0x20
jne 0x100c6da0
mov eax, dword [esi + 0xc]
add eax, edi
mov eax, dword [edx + eax + 0x14]
bswap eax
test eax, eax
je 0x100c7930
lea edx, [edi + eax]
mov ecx, dword [esi + 0x10]
movups xmmword [ecx + 0x64], xmm0
mov dword [ecx + 0x78], 0
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x34], edx
movsd qword [ecx + 0x38], xmm1
movzx eax, byte [edi + eax + 2]
mov edi, edx
movzx ecx, word [eax + edx]
rol cx, 8
movzx edx, byte [eax + edx + 2]
movzx ebx, dl
test cx, cx
mov dword [esi], edi
je 0x100c6fbd
movzx ecx, cx
imul ecx, ebx
add eax, ecx
add eax, 3
test dl, dl
je 0x100c6fc7
xor ecx, ecx
cmp dl, 1
mov dword [esi + 4], ebx
jne 0x100c6fce
test byte [esi + 4], 1
je 0x100c7017
shl ecx, 8
cmp eax, 0x1fffffff
jg 0x100c7010
movzx edx, byte [edi + eax]
inc eax
jmp 0x100c7012
mov edi, dword [esi + 0x30]
mov ecx, dword [esi + 0x10]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x90]
movzx eax, word [edi + eax + 2]
rol ax, 8
mov dword [ecx + 0x2c], 0
test ax, ax
je 0x100c7930
movzx eax, ax
mov ecx, dword [esi + 0x90]
add ecx, edi
add ecx, 0xb
xor edx, edx
xor ebx, ebx
jmp 0x100c6eb7
mov edx, dword [ecx + ebx*8 - 3]
bswap edx
add edx, dword [esi + 0x90]
mov edi, dword [esi + 0x10]
mov dword [edi + 0x2c], edx
inc ebx
cmp eax, ebx
je 0x100c6ef0
movzx edi, word [ecx + ebx*8 - 7]
rol di, 8
test di, di
je 0x100c6ea0
movzx edi, di
cmp edi, 3
jne 0x100c6eb2
movzx edi, word [ecx + ebx*8 - 5]
rol di, 8
cmp di, 0xa
je 0x100c6ea0
movzx edi, di
cmp edi, 1
je 0x100c6ea0
jmp 0x100c6eb2
test edx, edx
mov edx, dword [esi + 0x30]
je 0x100c7930
mov ecx, dword [esi + 0x10]
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 + 0x40]
mov ecx, dword [esi + 8]
mov eax, dword [eax + ecx + 0x30]
test eax, eax
mov ecx, 0x1015c8b0
cmove eax, ecx
mov ecx, dword [esi + 0xa4]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0xc0]
mov dword [edx + edi + 0x9c], eax
cmp word [eax], 0
je 0x100c6f7a
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0xc0]
add edx, edi
add edx, 0xa4
add eax, 4
nop word cs:[eax + eax]
movzx edi, word [eax - 2]
test edi, edi
je 0x100c6f7a
mov ebx, dword [edx]
cmp ebx, edi
cmovg edi, ebx
mov dword [edx], edi
cmp word [eax], 0
lea eax, [eax + 4]
jne 0x100c6f60
lea eax, [ecx + ecx*2]
mov edi, dword [esi + 0x60]
lea ecx, [edi + eax*8]
inc dword [ecx]
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0x24]
mov ecx, dword [edx + ecx + 0xa4]
mov edx, dword [edi + eax*8 + 4]
cmp edx, ecx
cmovg ecx, edx
mov dword [edi + eax*8 + 4], ecx
mov ecx, dword [esi + 0x80]
inc ecx
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 0x50]
mov edi, dword [esi + 0x7c]
jl 0x100c676d
jmp 0x100c7951
add eax, 2
shl ebx, 8
mov edi, ebx
jmp 0x100c703b
mov ecx, 0xffffffff
jmp 0x100c7018
and ebx, 0xfffffffe
xor edx, edx
jmp 0x100c6fea
movzx edx, byte [edi + eax]
inc eax
movzx edx, dl
or ecx, edx
mov edx, ecx
add ebx, 0xfffffffe
je 0x100c6e3d
cmp eax, 0x1fffffff
jg 0x100c6ff8
movzx ecx, byte [edi + eax]
inc eax
jmp 0x100c6ffa
xor ecx, ecx
movzx ecx, cl
shl edx, 0x10
shl ecx, 8
or ecx, edx
cmp eax, 0x1fffffff
jle 0x100c6fd5
xor edx, edx
jmp 0x100c6fda
xor edx, edx
movzx edx, dl
or ecx, edx
dec ecx
add eax, ecx
mov edx, 0x20000000
xor ecx, ecx
cmp eax, 0x1fffffff
ja 0x100c7049
movzx edi, byte [edi + eax]
shl edi, 8
mov ebx, 0x1fffffff
cmp eax, 0x1fffffff
je 0x100c7050
lea edx, [eax + 2]
mov ecx, dword [esi]
movzx ecx, byte [eax + ecx + 1]
mov ebx, eax
jmp 0x100c7050
xor edi, edi
mov ebx, 0x20000000
or edi, ecx
mov dword [esi + 4], ebx
je 0x100c7112
mov ebx, 0xffffffff
mov eax, 0x20000000
cmp edx, 0x1fffffff
ja 0x100c70fe
mov ecx, edi
mov edi, dword [esi]
movzx edi, byte [edi + edx]
imul ecx, edi
lea eax, [edx + ecx]
inc eax
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
test edi, edi
je 0x100c70fe
mov edx, edi
xor ebx, ebx
cmp dl, 1
mov dword [esi + 0x2c], edi
jne 0x100c70b6
mov edi, dword [esi]
test byte [esi + 0x2c], 1
je 0x100c70fd
shl ebx, 8
cmp eax, 0x1fffffff
jg 0x100c70f6
movzx ecx, byte [edi + eax]
inc eax
jmp 0x100c70f8
and edx, 0xfffffffe
xor ecx, ecx
mov edi, dword [esi]
jmp 0x100c70d0
movzx ecx, byte [edi + eax]
inc eax
movzx ecx, cl
or ebx, ecx
mov ecx, ebx
add edx, 0xfffffffe
je 0x100c709f
cmp eax, 0x1fffffff
jg 0x100c70de
movzx ebx, byte [edi + eax]
inc eax
jmp 0x100c70e0
xor ebx, ebx
movzx ebx, bl
shl ecx, 0x10
shl ebx, 8
or ebx, ecx
cmp eax, 0x1fffffff
jle 0x100c70bf
xor ecx, ecx
jmp 0x100c70c4
xor ecx, ecx
movzx ecx, cl
or ebx, ecx
dec ebx
add eax, ebx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov edx, eax
mov ebx, dword [esi + 4]
cmp ebx, 0x20000000
mov dword [esi + 0x5c], edx
jg 0x100c7172
mov edi, edx
sub edi, ebx
mov eax, edi
or eax, ebx
mov ecx, 0
mov dword [esi + 0x2c], 0
mov eax, 0
mov dword [esi + 0xb4], 0
mov edx, 0
mov ebx, 0
js 0x100c7228
mov ecx, dword [esi + 4]
add ecx, dword [esi]
xor edx, edx
mov eax, 0
test edi, edi
mov dword [esi + 0x2c], edi
cmovs eax, edi
mov edi, ecx
jle 0x100c7190
movzx ecx, byte [edi + eax]
inc eax
shl ecx, 8
jmp 0x100c7192
xor ecx, ecx
mov dword [esi + 0x2c], 0
xor eax, eax
mov dword [esi + 0xb4], 0
xor edx, edx
xor ebx, ebx
jmp 0x100c7228
xor ecx, ecx
mov ebx, dword [esi + 0x2c]
cmp eax, ebx
jge 0x100c719e
movzx edx, byte [edi + eax]
inc eax
or edx, ecx
mov dword [esi + 0x58], edx
xor edx, edx
cmp eax, ebx
jge 0x100c7214
movzx ecx, byte [edi + eax]
test ecx, ecx
je 0x100c7214
mov dword [esi + 4], edi
lea edi, [eax + 1]
cmp eax, 0xffffffff
cmovl edi, ebx
mov eax, ecx
dec eax
mov dword [esi + 0xb8], eax
mov dword [esi + 0xb4], ecx
je 0x100c733c
and ecx, 0xfffffffe
xor eax, eax
jmp 0x100c71f1
mov eax, dword [esi + 4]
movzx eax, byte [eax + edi]
inc edi
movzx eax, al
or edx, eax
mov eax, edx
add ecx, 0xfffffffe
je 0x100c733e
cmp edi, ebx
jge 0x100c71ff
mov edx, dword [esi + 4]
movzx edx, byte [edx + edi]
inc edi
jmp 0x100c7201
xor edx, edx
movzx edx, dl
shl eax, 0x10
shl edx, 8
or edx, eax
cmp edi, ebx
jl 0x100c71d9
xor eax, eax
jmp 0x100c71e1
mov dword [esi + 0x2c], ebx
mov eax, edi
mov dword [esi + 0xb4], 0
xor ebx, ebx
mov ecx, dword [esi + 0x58]
sub ebx, edx
inc ecx
imul ecx, dword [esi + 0xb4]
add edx, ecx
add edx, 2
mov edi, ebx
or edi, edx
js 0x100c725f
mov ecx, dword [esi + 0x2c]
sub ecx, edx
setl byte [esi + 4]
cmp ecx, ebx
setl cl
add eax, edx
or cl, byte [esi + 4]
test cl, cl
mov ecx, 0
cmovne ebx, ecx
cmovne eax, ecx
jmp 0x100c7263
xor ebx, ebx
xor eax, eax
mov dword [esi + 0x1e8], eax
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1f0], ebx
xor eax, eax
mov edx, dword [esi + 0x5c]
cmp edx, 0x1fffffff
mov edi, dword [esi]
jg 0x100c72a5
movzx ecx, byte [edi + edx]
jne 0x100c72ae
mov edx, 0xffffffff
test cl, cl
mov ecx, 0x20000000
jne 0x100c7435
jmp 0x100c746a
xor ebx, ebx
mov ecx, edx
jmp 0x100c747b
mov ebx, edx
movzx edx, cl
shl edx, 8
movzx ecx, byte [ebx + edi + 1]
or ecx, edx
je 0x100c7328
mov edx, 0xffffffff
cmp ebx, 0x1ffffffd
jg 0x100c7332
movzx eax, byte [edi + ebx + 2]
mov dword [esi + 4], eax
imul ecx, eax
lea eax, [ebx + ecx]
add eax, 3
mov ebx, dword [esi + 4]
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ecx, eax
test ebx, ebx
je 0x100c7433
mov eax, ecx
xor edx, edx
cmp bl, 1
jne 0x100c73e7
test byte [esi + 4], 1
je 0x100c7430
shl edx, 8
cmp eax, 0x1fffffff
jg 0x100c7429
mov ecx, eax
movzx ecx, byte [edi + ecx]
inc eax
jmp 0x100c742b
add ebx, 2
mov edx, ebx
jmp 0x100c7447
mov ecx, 0x20000000
jmp 0x100c7435
xor edx, edx
mov ecx, dword [esi + 0xb4]
test cl, 1
je 0x100c7365
shl edx, 8
cmp edi, ebx
jge 0x100c735e
mov eax, edi
mov edi, dword [esi + 4]
movzx ebx, byte [edi + eax]
inc eax
mov edi, eax
jmp 0x100c7360
xor ebx, ebx
movzx eax, bl
or edx, eax
cmp dword [esi + 0xb8], 0
je 0x100c73b0
mov eax, ecx
and eax, 0xfffffffe
xor ecx, ecx
jmp 0x100c738b
mov ecx, dword [esi + 4]
movzx ecx, byte [ecx + edi]
inc edi
movzx ecx, cl
or ebx, ecx
mov ecx, ebx
add eax, 0xfffffffe
je 0x100c73b2
cmp edi, dword [esi + 0x2c]
jge 0x100c739a
mov ebx, dword [esi + 4]
movzx ebx, byte [ebx + edi]
inc edi
jmp 0x100c739c
xor ebx, ebx
movzx ebx, bl
shl ecx, 0x10
shl ebx, 8
or ebx, ecx
cmp edi, dword [esi + 0x2c]
jl 0x100c7377
xor ecx, ecx
jmp 0x100c737f
xor ebx, ebx
mov ecx, dword [esi + 0xb4]
test cl, 1
jne 0x100c73c5
mov eax, dword [esi + 4]
jmp 0x100c7225
shl ebx, 8
cmp edi, dword [esi + 0x2c]
jge 0x100c73d6
mov ecx, dword [esi + 4]
movzx eax, byte [ecx + edi]
jmp 0x100c73db
xor eax, eax
mov ecx, dword [esi + 4]
movzx eax, al
or ebx, eax
mov eax, ecx
jmp 0x100c7225
and ebx, 0xfffffffe
xor ecx, ecx
jmp 0x100c7403
movzx ecx, byte [edi + eax]
inc eax
movzx ecx, cl
or edx, ecx
mov ecx, edx
add ebx, 0xfffffffe
je 0x100c7304
cmp eax, 0x1fffffff
jg 0x100c7411
movzx edx, byte [edi + eax]
inc eax
jmp 0x100c7413
xor edx, edx
movzx edx, dl
shl ecx, 0x10
shl edx, 8
or edx, ecx
cmp eax, 0x1fffffff
jle 0x100c73ee
xor ecx, ecx
jmp 0x100c73f3
xor ecx, ecx
movzx ecx, cl
or edx, ecx
dec edx
mov ecx, eax
xor eax, eax
add ecx, edx
cmp ecx, 0x20000000
mov edx, ecx
mov ecx, 0x20000000
cmovae edx, ecx
mov ecx, 0x20000000
cmp edx, 0x1fffffff
jg 0x100c746a
movzx ebx, byte [edi + edx]
shl ebx, 8
cmp edx, 0x1fffffff
jne 0x100c7473
mov edx, 0x1fffffff
jmp 0x100c747b
mov edx, 0x20000000
xor ebx, ebx
jmp 0x100c747b
lea ecx, [edx + 2]
movzx eax, byte [edx + edi + 1]
or ebx, eax
je 0x100c753d
mov dword [esi + 0x5c], edx
mov edx, 0xffffffff
mov eax, 0x20000000
cmp ecx, 0x1fffffff
jg 0x100c7529
movzx edi, byte [edi + ecx]
imul ebx, edi
lea eax, [ecx + ebx]
inc eax
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
test edi, edi
je 0x100c74dd
mov ebx, edi
xor edx, edx
cmp bl, 1
mov dword [esi + 4], edi
jne 0x100c74e1
mov edi, dword [esi]
test byte [esi + 4], 1
je 0x100c7528
shl edx, 8
cmp eax, 0x1fffffff
jg 0x100c7521
movzx ecx, byte [edi + eax]
inc eax
jmp 0x100c7523
mov edi, dword [esi]
jmp 0x100c7529
and ebx, 0xfffffffe
xor ecx, ecx
mov edi, dword [esi]
jmp 0x100c74fb
movzx ecx, byte [edi + eax]
inc eax
movzx ecx, cl
or edx, ecx
mov ecx, edx
add ebx, 0xfffffffe
je 0x100c74c6
cmp eax, 0x1fffffff
jg 0x100c7509
movzx edx, byte [edi + eax]
inc eax
jmp 0x100c750b
xor edx, edx
movzx edx, dl
shl ecx, 0x10
shl edx, 8
or edx, ecx
cmp eax, 0x1fffffff
jle 0x100c74ea
xor ecx, ecx
jmp 0x100c74ef
xor ecx, ecx
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 + 0x5c]
mov eax, ecx
sub eax, edx
mov ebx, ecx
mov ecx, eax
or ecx, edx
mov dword [esi + 4], ebx
js 0x100c7575
cmp edx, 0x20000001
setge cl
cmp ebx, 0x20000001
mov ebx, edx
setge dl
or dl, cl
add ebx, edi
test dl, dl
mov edx, ebx
mov ecx, 0
cmovne eax, ecx
cmovne edx, ecx
jmp 0x100c7579
xor eax, eax
xor edx, edx
mov ebx, dword [esi + 0x10]
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], eax
lea edi, [esi + 0x1e8]
mov ecx, edi
mov edx, 0x11
lea eax, [esi + 0xbc]
push eax
push 1
call fcn.100cf700
add esp, 8
mov ecx, edi
mov edx, 0x106
lea eax, [esi + 0x150]
push eax
push 1
call fcn.100cf700
add esp, 8
mov ecx, edi
mov edx, 0x124
lea eax, [esi + 0xf8]
push eax
push 1
call fcn.100cf700
add esp, 8
mov ecx, edi
mov edx, 0x125
lea eax, [esi + 0xf4]
push eax
push 1
call fcn.100cf700
add esp, 8
lea ecx, [esi + 0x128]
mov edx, dword [esi]
push dword [esi + 0x1f0]
push dword [esi + 0x1ec]
push dword [esi + 0x1e8]
push 0x20000000
push dword [esi + 4]
call fcn.100cf8a0
add esp, 0x14
mov eax, dword [esi + 0x130]
mov dword [ebx + 0x60], eax
movsd xmm0, qword [esi + 0x128]
movsd qword [ebx + 0x58], xmm0
cmp dword [esi + 0x150], 2
xorps xmm0, xmm0
movsd xmm1, qword [0x10162b80]
mov edi, dword [esi + 0x30]
jne 0x100c7930
mov eax, dword [esi + 0xbc]
mov dword [esi + 4], eax
test eax, eax
je 0x100c7930
mov edx, dword [esi + 0xf8]
test edx, edx
je 0x100c77e4
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x100c7930
mov dword [esi + 0x2c], eax
xor ebx, ebx
mov eax, 0
cmp edx, 0x20000000
mov ecx, 0x20000000
cmovae edx, ecx
mov edi, edx
jae 0x100c769f
lea edi, [edx + 1]
mov eax, dword [esi]
movzx eax, byte [eax + edx]
shl eax, 8
cmp edi, 0x1fffffff
ja 0x100c76ae
mov ecx, dword [esi]
movzx ebx, byte [ecx + edi]
inc edi
mov dword [esi + 0x5c], edx
or ebx, eax
je 0x100c777a
mov dword [esi + 0xb4], ebx
mov edx, 0xffffffff
mov ebx, 0x20000000
cmp edi, 0x1fffffff
ja 0x100c7768
mov eax, dword [esi]
movzx ecx, byte [eax + edi]
mov eax, dword [esi + 0xb4]
imul eax, ecx
lea ebx, [edi + eax]
inc ebx
cmp ebx, 0x20000000
mov eax, 0x20000000
cmovae ebx, eax
test ecx, ecx
je 0x100c7768
xor edx, edx
cmp cl, 1
mov dword [esi + 0x58], ecx
jne 0x100c771e
mov edi, dword [esi]
test byte [esi + 0x58], 1
je 0x100c7767
shl edx, 8
cmp ebx, 0x1fffffff
jg 0x100c7760
movzx eax, byte [edi + ebx]
inc ebx
jmp 0x100c7762
and ecx, 0xfffffffe
xor eax, eax
mov edi, dword [esi]
jmp 0x100c7738
movzx eax, byte [edi + ebx]
inc ebx
movzx eax, al
or edx, eax
mov eax, edx
add ecx, 0xfffffffe
je 0x100c7706
cmp ebx, 0x1fffffff
jg 0x100c7747
movzx edx, byte [edi + ebx]
inc ebx
jmp 0x100c7749
xor edx, edx
movzx edx, dl
shl eax, 0x10
shl edx, 8
or edx, eax
cmp ebx, 0x1fffffff
jle 0x100c7727
xor eax, eax
jmp 0x100c772c
xor eax, eax
movzx eax, al
or edx, eax
dec edx
add ebx, edx
cmp ebx, 0x20000000
mov eax, 0x20000000
cmovae ebx, eax
mov edi, ebx
mov edx, edi
mov ecx, dword [esi + 0x5c]
sub edx, ecx
add ecx, dword [esi]
cmp edi, 0x20000001
mov eax, edx
mov edi, 0
cmovae eax, edi
cmovae ecx, edi
test edx, edx
cmovs eax, edi
cmovs ecx, edi
mov ebx, dword [esi + 0x10]
mov dword [ebx + 0x64], ecx
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x6c], eax
mov eax, 0x20000000
mov edx, dword [esi + 0x2c]
sub eax, edx
mov ecx, eax
or ecx, edx
sets cl
cmp edx, 0x20000001
setge ch
or ch, cl
add edx, dword [esi]
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 edi, dword [esi + 0x30]
xor edx, edx
mov eax, 0
mov ebx, dword [esi + 4]
cmp ebx, 0x20000000
mov ecx, 0x20000000
cmovae ebx, ecx
mov dword [esi + 4], ebx
jae 0x100c7821
mov ecx, dword [esi + 4]
lea ebx, [ecx + 1]
mov eax, dword [esi]
movzx eax, byte [eax + ecx]
shl eax, 8
cmp ebx, 0x1fffffff
jbe 0x100c7829
or edx, eax
jne 0x100c7838
jmp 0x100c78f2
cmp ebx, 0x1fffffff
ja 0x100c7818
mov ecx, dword [esi]
movzx edx, byte [ecx + ebx]
inc ebx
or edx, eax
je 0x100c78f2
mov eax, 0xffffffff
mov ecx, 0x20000000
cmp ebx, 0x1fffffff
ja 0x100c78e0
mov ecx, dword [esi]
movzx ecx, byte [ecx + ebx]
mov dword [esi + 0x2c], ecx
imul edx, ecx
lea ecx, [ebx + edx]
inc ecx
mov ebx, dword [esi + 0x2c]
cmp ecx, 0x20000000
mov edx, 0x20000000
cmovae ecx, edx
test ebx, ebx
je 0x100c78e0
xor eax, eax
cmp bl, 1
jne 0x100c7894
test byte [esi + 0x2c], 1
je 0x100c78df
shl eax, 8
cmp ecx, 0x1fffffff
jg 0x100c78d8
mov edx, dword [esi]
movzx edx, byte [edx + ecx]
inc ecx
jmp 0x100c78da
and ebx, 0xfffffffe
xor edx, edx
jmp 0x100c78ae
mov edx, dword [esi]
movzx edx, byte [edx + ecx]
inc ecx
movzx edx, dl
or eax, edx
mov edx, eax
add ebx, 0xfffffffe
je 0x100c787a
cmp ecx, 0x1fffffff
jg 0x100c78bf
mov eax, dword [esi]
movzx eax, byte [eax + ecx]
inc ecx
jmp 0x100c78c1
xor eax, eax
movzx eax, al
shl edx, 0x10
shl eax, 8
or eax, edx
cmp ecx, 0x1fffffff
jle 0x100c789b
xor edx, edx
jmp 0x100c78a2
xor edx, edx
movzx edx, dl
or eax, edx
dec eax
add ecx, eax
cmp ecx, 0x20000000
mov eax, 0x20000000
cmovae ecx, eax
mov ebx, ecx
mov ecx, ebx
mov eax, dword [esi + 4]
sub ecx, eax
mov edx, dword [esi]
add edx, eax
cmp ebx, 0x20000001
mov eax, ecx
mov ebx, 0
cmovae eax, ebx
cmovae edx, ebx
test ecx, ecx
cmovs edx, ebx
mov ecx, dword [esi + 0x10]
mov dword [ecx + 0x40], edx
cmovs eax, ebx
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x48], eax
mov edx, dword [esi + 0xc]
jmp 0x100c6ccf
mov eax, dword [esi + 0x60]
test eax, eax
je 0x100c794a
mov dword [esi + 0x438], 4
push eax
call fcn.100a6500
add esp, 4
xor eax, eax
jmp 0x100cbfbd
mov eax, dword [ebp + 8]
add eax, 0x20
mov dword [esi + 0x194], eax
xor eax, eax
mov dword [esi + 4], 0
jmp 0x100c7977
mov eax, dword [esi + 0xa4]
inc eax
cmp eax, dword [esi + 0xb0]
jge 0x100c7cb6
mov dword [esi + 0xa4], eax
imul ecx, eax, 0xc4
mov ebx, dword [esi + 0x24]
mov eax, dword [ebx + ecx + 0xa0]
mov dword [esi + 0x90], eax
mov edx, dword [ebx + ecx + 0xa4]
lea eax, [ebx + ecx]
add eax, 0xac
mov dword [esi + 0x30], eax
add edx, 0x20
sar edx, 5
mov eax, dword [ebx + ecx + 0xb0]
cmp eax, edx
mov dword [esi + 0x10], ecx
jge 0x100c7a7b
test eax, eax
je 0x100c79da
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x100c79df
mov ebx, 8
cmp ebx, edx
cmovle ebx, edx
cmp eax, ebx
jge 0x100c7a7b
mov dword [esi + 0xc], edx
mov dword [esi + 0x40], ebx
lea eax, [ebx*4]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 0x24]
mov dword [esi + 0xac], ecx
mov dword [esi + 0x438], 6
push eax
call fcn.100a64d0
mov ecx, dword [esi + 0x24]
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 8]
test eax, eax
je 0x100c7a69
mov edi, dword [esi + 0x30]
mov ebx, ecx
mov ecx, dword [edi]
shl ecx, 2
push ecx
push eax
push edx
mov dword [esi + 0xc0], edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
push eax
call fcn.100a6500
mov edx, dword [esi + 0xc0]
add esp, 4
mov eax, dword [esi + 0x30]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0x40]
mov dword [eax + 4], ecx
mov edi, dword [esi + 0x7c]
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x30]
mov dword [eax], edx
shl edx, 2
push edx
push 0
push dword [eax + 8]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0x90]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x60]
lea edx, [eax + ecx*8]
add edx, 0xc
mov dword [esi + 0x90], ecx
cmp dword [eax + ecx*8 + 0xc], 0
mov dword [esi + 0xc], edx
jne 0x100c7ba3
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x90]
mov ecx, dword [eax + ecx*8 + 4]
add ecx, 0x20
sar ecx, 5
mov eax, dword [edx + 4]
cmp eax, ecx
jge 0x100c7b8d
test eax, eax
je 0x100c7ae6
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x100c7aeb
mov ebx, 8
cmp ebx, ecx
cmovle ebx, ecx
cmp eax, ebx
jge 0x100c7b8d
mov dword [esi + 0x40], ecx
mov dword [esi + 0xc0], ebx
lea eax, [ebx*4]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 0x24]
mov dword [esi + 0xac], ecx
mov dword [esi + 0x438], 6
push eax
call fcn.100a64d0
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x24]
add esp, 4
mov ebx, eax
mov eax, dword [edx + 8]
test eax, eax
je 0x100c7b7b
mov edi, ecx
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 + 0xc]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
push eax
mov dword [esi + 0x80], ebx
call fcn.100a6500
mov ebx, dword [esi + 0x80]
mov edx, dword [esi + 0xc]
add esp, 4
mov dword [edx + 8], ebx
mov eax, dword [esi + 0xc0]
mov dword [edx + 4], eax
mov edi, dword [esi + 0x7c]
mov ecx, dword [esi + 0x40]
mov dword [edx], ecx
shl ecx, 2
push ecx
push 0
push dword [edx + 8]
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esi + 0xc]
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0x24]
mov eax, dword [ebx + ecx + 0x9c]
mov dword [esi + 0xc0], eax
movzx eax, word [eax]
test ax, ax
je 0x100c7970
mov ecx, dword [esi + 0x10]
add ecx, ebx
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x10]
lea ecx, [ebx + ecx + 0xa8]
mov dword [esi + 0x80], ecx
mov ecx, dword [esi + 0x60]
mov edi, dword [esi + 0x90]
lea ecx, [ecx + edi*8 + 8]
mov dword [esi], ecx
mov edi, dword [esi + 0x7c]
mov ecx, dword [esi + 0xc0]
jmp 0x100c7c19
mov ecx, dword [esi + 0xc0]
movzx eax, word [ecx + 4]
add ecx, 4
test ax, ax
mov edi, dword [esi + 0x7c]
je 0x100c7970
movzx ebx, word [ecx + 2]
test bx, bx
je 0x100c7970
mov dword [esi + 0xc0], ecx
cmp ax, bx
ja 0x100c7c00
mov edi, ebx
movzx ebx, ax
jmp 0x100c7c50
mov edx, dword [esi + 0xc]
nop dword [eax + eax]
movzx edi, word [esi + 0x10]
lea eax, [ebx + 1]
movzx ecx, di
cmp ebx, ecx
mov ebx, eax
jae 0x100c7c00
mov word [esi + 0x10], 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 0x100c7c40
mov dword [esi + 0x90], ecx
mov ecx, dword [esi + 0x40]
mov edx, ebx
call fcn.100cc7f0
test eax, eax
je 0x100c7c38
mov eax, dword [esi + 0x80]
inc dword [eax]
mov eax, dword [esi]
inc dword [eax]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x90]
or dword [eax + edi*4], ecx
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 8]
or dword [eax + edi*4], ecx
inc dword [esi + 4]
mov eax, dword [esi + 0xc0]
movzx edi, word [eax + 2]
jmp 0x100c7c44
xor ecx, ecx
jmp 0x100c7cc1
inc ecx
cmp ecx, dword [esi + 0xb0]
jge 0x100c7f77
imul edx, ecx, 0xc4
mov ebx, dword [esi + 0x24]
lea eax, [ebx + edx]
add eax, 0xb8
mov dword [esi + 0x90], eax
mov eax, dword [ebx + edx + 0xa8]
cmp dword [ebx + edx + 0xbc], eax
mov dword [esi + 0x80], ecx
mov dword [esi + 0x10], edx
jge 0x100c7dab
mov dword [esi + 0xc], eax
lea eax, [eax*4]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
mov dword [esi + 0x438], 6
push eax
call fcn.100a64d0
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x24]
add esp, 4
mov edi, eax
lea ecx, [ebx + edx]
add ecx, 0xc0
mov eax, dword [ebx + edx + 0xc0]
test eax, eax
je 0x100c7d94
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
push eax
mov dword [esi + 0xc0], edi
call fcn.100a6500
mov ecx, dword [esi + 0x40]
mov edi, dword [esi + 0xc0]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x24]
add esp, 4
mov dword [ecx], edi
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0xc]
mov dword [eax + 4], ecx
mov edi, dword [esi + 0x7c]
mov ecx, dword [esi + 0x80]
lea eax, [ebx + edx]
add eax, 0xac
mov dword [esi + 0x5c], eax
mov eax, dword [ebx + edx + 0xac]
mov edx, dword [ebx + edx + 0xb4]
test eax, eax
jle 0x100c7f29
lea eax, [edx + eax*4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x10]
add eax, ebx
add eax, 0xc0
mov dword [esi + 0x40], eax
mov eax, edx
mov dword [esi], edx
jmp 0x100c7dfc
add eax, 4
cmp eax, dword [esi + 0x2c]
jae 0x100c7f20
mov edi, dword [eax]
mov dword [esi + 0xc], edi
test edi, edi
je 0x100c7df0
mov edi, eax
sub edi, edx
shl edi, 3
mov dword [esi + 0x30], edi
xor edi, edi
mov dword [esi + 0xc0], eax
jmp 0x100c7e58
mov dword [edi], eax
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0xa4]
mov dword [eax + 4], ecx
mov eax, dword [eax]
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0x30]
add ecx, edi
mov edx, dword [esi + 0x40]
mov edx, dword [edx]
mov dword [edx + eax*4], ecx
mov eax, dword [esi + 0x90]
inc dword [eax]
mov ecx, dword [esi + 0x80]
mov edx, dword [esi]
mov eax, dword [esi + 0xc0]
inc edi
cmp edi, 0x20
je 0x100c7df0
mov dword [esi + 0x10], edi
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
bt edi, ebx
mov edi, dword [esi + 0x10]
jae 0x100c7e52
mov ecx, dword [esi + 0x90]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jne 0x100c7e2f
lea edx, [eax + 1]
test eax, eax
je 0x100c7e8a
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100c7e8f
mov ecx, 8
cmp ecx, edx
cmovg edx, ecx
cmp eax, edx
jge 0x100c7e2f
mov dword [esi + 0xa4], edx
lea eax, [edx*4]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 0x24]
mov dword [esi + 0xac], ecx
mov dword [esi + 0x438], 6
push eax
call fcn.100a64d0
mov ecx, dword [esi + 0x24]
add esp, 4
mov edi, dword [esi + 0x40]
mov edx, dword [edi]
test edx, edx
je 0x100c7e19
mov ebx, ecx
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push edx
push eax
mov dword [esi + 8], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
push eax
call fcn.100a6500
mov eax, dword [esi + 8]
mov edi, dword [esi + 0x40]
add esp, 4
jmp 0x100c7e19
mov eax, dword [esi + 0x5c]
mov edx, dword [eax + 8]
mov edi, dword [esi + 0x7c]
test edx, edx
je 0x100c7cc0
xorps xmm0, xmm0
mov eax, dword [esi + 0x5c]
movlps qword [eax], xmm0
mov eax, dword [esi + 0x60]
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0xac], eax
mov dword [esi + 0x438], 6
push edx
call fcn.100a6500
add esp, 4
mov eax, dword [esi + 0x5c]
mov dword [eax + 8], 0
mov edi, dword [esi + 0x7c]
mov ecx, dword [esi + 0x80]
jmp 0x100c7cc0
xor edx, edx
jmp 0x100c7f94
mov eax, dword [esi + 0x90]
mov dword [eax + 8], 0
mov edi, dword [esi + 0x7c]
mov edx, dword [esi + 0x10]
inc edx
cmp edx, edi
jge 0x100c7fe2
lea ecx, [edx + edx*2]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*8 + 0x14]
test eax, eax
je 0x100c7f93
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x60]
lea ecx, [edx + ecx*8]
add ecx, 0xc
xorps xmm0, xmm0
mov dword [esi + 0x90], ecx
movlps qword [ecx], xmm0
mov dword [esi + 0xa8], edx
mov ecx, dword [esi + 0x24]
mov dword [esi + 0xac], ecx
mov dword [esi + 0x438], 6
push eax
call fcn.100a6500
add esp, 4
jmp 0x100c7f80
cmp dword [esi + 0x60], 0
mov ecx, dword [esi + 0x24]
je 0x100c800d
mov eax, dword [esi + 0x60]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], ecx
mov dword [esi + 0x438], 6
push eax
call fcn.100a6500
add esp, 4
xorps xmm0, xmm0
movlps qword [esi + 0x128], xmm0
mov dword [esi + 0x130], 0
movlps qword [esi + 0x150], xmm0
mov dword [esi + 0x158], 0
mov ecx, dword [esi + 4]
test ecx, ecx
jle 0x100c80ab
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
mov dword [esi + 0x10], eax
shl eax, 4
mov dword [esi + 0x438], 7
push eax
mov dword [esi + 4], ecx
call fcn.100a64d0
add esp, 4
mov dword [esi + 0x130], eax
mov edx, dword [esi + 0x10]
mov dword [esi + 0x12c], edx
mov ecx, dword [esi + 4]
mov dword [esi + 0x128], ecx
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
push ecx
mov dword [esi + 0x90], eax
call fcn.100a64d0
mov ecx, dword [esi + 0x90]
add esp, 4
mov edi, eax
mov dword [esi + 0x158], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x154], eax
mov ebx, dword [esi + 4]
jmp 0x100c80b7
mov dword [esi + 0x128], ecx
mov ebx, ecx
xor edi, edi
xor ecx, ecx
mov dword [esi + 0x150], ebx
mov eax, ebx
shl eax, 4
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebx + ebx*8]
lea eax, [eax + eax*2]
add eax, ebx
push eax
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp dword [esi + 0xb0], 0
jle 0x100c8387
xor ecx, ecx
mov dword [esi + 0xa4], 0
mov dword [esi + 0x60], 0
xor edx, edx
jmp 0x100c811f
mov edx, dword [esi]
inc edx
cmp edx, dword [esi + 0xb0]
je 0x100c8389
imul eax, edx, 0xc4
mov ebx, dword [esi + 0x24]
mov edi, dword [ebx + eax + 0xa8]
test edi, edi
je 0x100c8112
mov dword [esi + 0x40], edi
mov dword [esi + 0x90], ecx
mov ecx, dword [esi + 0xa4]
shl ecx, 4
add ecx, dword [esi + 0x130]
mov dword [ebx + eax + 0x94], ecx
mov dword [esi], edx
mov edx, dword [esi + 0x60]
lea ecx, [edx + edx*8]
lea edi, [ecx + ecx*2]
add edi, edx
add edi, dword [esi + 0x158]
mov dword [ebx + eax + 0x98], edi
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x58]
mov dword [esi + 0xc0], ecx
imul edx, dword [esi], 0x7c
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 + 0x10], ecx
mov ecx, dword [ebx + eax + 0xc0]
mov dword [ebx + eax + 0x84], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebx + eax + 0x88], ecx
mov dword [ebx + eax + 0x8c], edi
mov edi, dword [esi + 0xc0]
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 + 0x30], eax
add ebx, eax
mov dword [esi + 0x80], edx
movss xmm1, dword [edi + edx + 0x10]
ucomiss xmm1, dword [0x10154e10]
mov dword [esi + 0xc], ebx
jbe 0x100c8230
mov edi, dword [ebx + 4]
mov edx, ebx
mov edx, dword [ebx + 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
or edi, edx
sub ecx, edi
jmp 0x100c824b
xorps xmm1, xmmword [0x101540d0]
mov ecx, dword [ebx + 4]
mov edx, ebx
mov edx, dword [ebx + 0x14]
movzx ecx, word [ecx + edx + 0x12]
rol cx, 8
movzx ecx, cx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
divss xmm1, xmm0
mov ecx, dword [esi + 0x40]
add dword [esi + 0xa4], ecx
add dword [esi + 0x60], ecx
cmp dword [esi + 0x10], 0
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0x30]
jle 0x100c8110
mov edx, dword [esi + 0x24]
add eax, edx
add eax, 0x94
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0xc0]
mov edx, dword [esi + 0x80]
lea eax, [eax + edx + 0x14]
mov dword [esi + 0xc0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x30], eax
xor ebx, ebx
xor edx, edx
movaps xmmword [esi + 0x80], xmm1
nop dword [eax]
mov dword [esi + 0x10], edx
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0x2c]
mov ecx, dword [esi + 0x10]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esi + 0xc]
call fcn.100cc7f0
mov edi, dword [esi + 0xc0]
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [edi + 4]
movaps xmm2, xmmword [esi + 0x80]
mulss xmm1, xmm2
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [edi]
mulss xmm0, xmm2
mov ecx, dword [esi + 0xc]
mov edx, eax
lea eax, [esi + 0xf4]
push eax
lea eax, [esi + 0xf8]
push eax
lea eax, [esi + 0xbc]
push eax
lea eax, [esi + 0x1e8]
push eax
call fcn.100ccaf0
add esp, 0x10
mov eax, dword [edi]
mov ecx, dword [esi + 0xf8]
mov edx, dword [esi + 0x30]
add ecx, edx
sub ecx, dword [esi + 0x1e8]
add eax, ecx
dec eax
mov edi, dword [esi + 0x40]
mov ecx, dword [edi]
mov word [ecx + ebx + 4], ax
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0xf4]
add ecx, edx
mov edx, dword [esi + 0x10]
sub ecx, dword [esi + 0xbc]
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 + 0x90]
add ecx, eax
inc edx
add ebx, 0x10
cmp edx, dword [edi + 0x24]
jl 0x100c82b0
jmp 0x100c8110
xor ecx, ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100c83a3
sqrtsd xmm0, xmm0
jmp 0x100c83c1
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 + 0x1c0]
movsd xmm0, qword [esi + 0x1c0]
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], 0
mov ecx, dword [eax + 0xc]
test ecx, ecx
jg 0x100c840f
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
mov ecx, 0x1000
cmp eax, 0xb32
jg 0x100c840f
mov ecx, 0x800
cmp eax, 0x598
jg 0x100c840f
xor ecx, ecx
cmp eax, 0x2cc
setge cl
shl ecx, 9
add ecx, 0x200
mov dword [esi + 0x438], 7
mov eax, dword [ebp + 8]
mov dword [esi + 0xc], ecx
mov dword [eax + 0x20], ecx
mov eax, dword [eax + 0x10]
mov dword [esi + 0xe4], eax
mov dword [esi + 0x438], 7
push 0x30
call fcn.100a64d0
add esp, 4
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 0xe4]
mov dword [esi + 0x90], eax
lea eax, [eax*8]
push eax
call fcn.100a64d0
add esp, 4
mov dword [esi + 0xdc], eax
cmp dword [esi + 0xd0], 0
mov eax, dword [esi + 0xdc]
je 0x100c8592
test eax, eax
je 0x100c8592
mov ecx, 0x8000
sub ecx, dword [esi + 0xe4]
mov dword [esi + 0x40], ecx
mov ebx, dword [esi + 0x90]
lea ecx, [ebx - 1]
mov dword [esi + 0x10], ecx
xor ecx, ecx
cmp ebx, 2
jl 0x100c852c
lea ecx, [ebx - 2]
mov edx, dword [esi + 0x10]
and edx, 7
xor edi, edi
cmp ecx, 7
jb 0x100c84f9
mov eax, dword [esi + 0x10]
and eax, 0xfffffff8
xor edi, edi
mov ecx, dword [esi + 0xdc]
nop
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 0x100c84c0
mov ecx, dword [esi + 0x10]
test edx, edx
mov eax, dword [esi + 0xdc]
mov ebx, dword [esi + 0x90]
je 0x100c852c
lea ecx, [eax + edi*8]
add ecx, 8
nop word cs:[eax + eax]
mov dword [ecx - 4], ecx
add ecx, 8
dec edx
jne 0x100c8520
mov ecx, dword [esi + 0x10]
mov dword [eax + ecx*8 + 4], 0
movsd xmm0, qword [0x10154000]
mov ecx, dword [esi + 0xd0]
movsd qword [ecx + 0xc], xmm0
mov dword [ecx + 0x1c], eax
lea eax, [ecx + 0x20]
mov dword [ecx + 0x18], eax
mov dword [ecx], ebx
mov eax, dword [esi + 0x40]
mov dword [ecx + 4], eax
mov dword [ecx + 0x14], ebx
mov eax, dword [esi + 0x10]
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 + 0x438], 7
jmp 0x100c8608
cmp dword [esi + 0xd0], 0
je 0x100c85a9
push dword [esi + 0xd0]
call fcn.100a6500
add esp, 4
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x100c85e3
mov dword [esi + 0xe4], 0
push eax
call fcn.100a6500
add esp, 4
mov dword [esi + 0xdc], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0xd0], 0
jmp 0x100c8608
mov dword [esi + 0xdc], 0
mov dword [esi + 0xe4], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0xd0], 0
push dword [esi + 0xd0]
push dword [ebp + 8]
call fcn.100ccd40
add esp, 8
cmp dword [esi + 0xb0], 0
jle 0x100c86d7
xor eax, eax
jmp 0x100c8640
mov eax, dword [esi + 0x40]
inc eax
cmp eax, dword [esi + 0xb0]
je 0x100c86d7
mov dword [esi + 0x40], eax
imul ebx, eax, 0xc4
mov eax, dword [esi + 0x24]
mov eax, dword [eax + ebx + 0xa8]
test eax, eax
je 0x100c8630
mov ecx, dword [esi + 0x24]
lea edi, [ecx + ebx]
add edi, 0xa8
mov edx, dword [ecx + ebx + 0x94]
mov ecx, dword [esi + 0xd0]
push eax
call fcn.100ccef0
add esp, 4
mov dword [esi + 0x90], edi
mov edi, dword [edi]
test edi, edi
jle 0x100c8630
mov eax, dword [esi + 0x24]
add eax, ebx
add eax, 0x94
mov dword [esi + 0x10], eax
xor ecx, ecx
mov edx, 0xc
jmp 0x100c86a8
inc ecx
add edx, 0x10
cmp ecx, edi
jge 0x100c8630
mov eax, dword [esi + 0x10]
mov ebx, dword [eax]
cmp dword [ebx + edx], 0
je 0x100c86a0
movzx edi, word [ebx + edx - 2]
movzx ebx, word [ebx + edx - 6]
add ebx, edi
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x24]
cmp edi, ebx
cmovg ebx, edi
mov dword [eax + 0x24], ebx
mov eax, dword [esi + 0x90]
mov edi, dword [eax]
jmp 0x100c86a0
mov eax, dword [ebp + 8]
test byte [eax + 4], 1
mov eax, dword [eax + 0x24]
jne 0x100c8710
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 + 0x438], 7
inc eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x24], eax
mov ecx, dword [edx + 0x20]
movd xmm0, eax
movd xmm1, ecx
punpckldq xmm1, xmm0
cvtdq2ps xmm0, xmm1
movaps xmm1, xmmword [0x10153fd0]
divps xmm1, xmm0
movlps qword [edx + 0x28], xmm1
imul eax, ecx
mov dword [esi + 0x438], 7
push eax
call fcn.100a64d0
add esp, 4
mov edi, dword [ebp + 8]
mov dword [edi + 0x18], eax
mov ecx, dword [edi + 0x24]
imul ecx, dword [edi + 0x20]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x18]
mov dword [esi + 0x134], eax
movd xmm0, dword [esi + 0xe4]
pshuflw xmm0, xmm0, 0
movdqa xmmword [esi + 0x400], xmm0
mov eax, dword [esi + 0xc]
add eax, eax
xor ecx, ecx
xorps xmm1, xmm1
movaps xmm0, xmmword [0x101540d0]
movaps xmm6, xmmword [0x10162c20]
mov edi, dword [esi + 0x24]
mov dword [esi + 0xa4], eax
jmp 0x100c87bd
mov eax, dword [esi + 8]
mov dword [eax], 0
mov edi, dword [esi + 0x24]
inc ecx
cmp ecx, dword [esi + 0xb0]
jge 0x100cbbf9
imul edx, ecx, 0xc4
cmp dword [edi + edx + 0xa8], 0
je 0x100c87bc
mov dword [esi + 0x11c], ecx
lea ecx, [edi + edx]
mov dword [esi + 0x118], edx
movss xmm3, dword [edi + edx + 0x7c]
ucomiss xmm3, xmm1
mov dword [esi + 0x164], ecx
jbe 0x100c8840
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x1c]
movzx ecx, byte [eax + edx + 4]
shl ecx, 8
mov ebx, edi
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
mov edi, ebx
or edx, eax
sub ecx, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
jmp 0x100c885c
xorps xmm3, xmm0
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 0x14]
movzx eax, word [eax + ecx + 0x12]
rol ax, 8
movzx eax, ax
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm3, xmm0
movaps xmmword [esi + 0x1b0], xmm3
mov ecx, dword [esi + 0x118]
lea eax, [edi + ecx]
add eax, 0x90
movzx edx, byte [eax]
xorps xmm3, xmm3
cvtsi2ss xmm3, edx
xorps xmm0, xmm0
movss dword [esi + 0x160], xmm0
xorps xmm0, xmm0
movss dword [esi + 0x15c], xmm0
test edx, edx
je 0x100c88ba
mov eax, 1
sub eax, edx
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
movaps xmm0, xmm3
addss xmm0, xmm3
divss xmm4, xmm0
movss dword [esi + 0x15c], xmm4
movss dword [esi + 0x100], xmm3
mov dword [esi + 0xc0], edx
lea eax, [edi + ecx]
add eax, 0x91
movzx eax, byte [eax]
movzx edx, al
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
mov byte [esi + 0xe3], al
test al, al
mov ecx, dword [esi + 0x11c]
je 0x100c8914
mov eax, 1
sub eax, edx
movaps xmm3, xmm4
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
movaps xmm0, xmm3
addss xmm0, xmm3
divss xmm4, xmm0
movss dword [esi + 0x160], xmm4
movaps xmm4, xmm3
mov dword [esi + 0x90], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x58]
mov dword [esi + 0x17c], eax
mov eax, dword [esi + 0x118]
add eax, edi
add eax, 0x88
mov dword [esi + 0x1ac], eax
mov eax, dword [eax]
test eax, eax
movaps xmm0, xmmword [0x101540d0]
jle 0x100cb5e0
mov ebx, dword [esi + 0x24]
mov edi, dword [esi + 0x118]
mov ecx, dword [ebx + edi + 0x94]
mov dword [esi + 0x108], ecx
movss xmm0, dword [0x10154df4]
movaps xmm2, xmm0
movss xmm3, dword [esi + 0x100]
divss xmm2, xmm3
movss dword [esi + 0x1a4], xmm2
divss xmm0, xmm4
movss dword [esi + 0x1a0], xmm0
movaps xmm0, xmmword [esi + 0x1b0]
mulss xmm4, xmm0
movaps xmmword [esi + 0x1d0], xmm4
mulss xmm3, xmm0
movaps xmm0, xmm4
movss dword [esi + 0x100], xmm3
minss xmm0, xmm3
movss xmm1, dword [0x10162b90]
divss xmm1, xmm0
movaps xmm0, xmmword [0x101540d0]
mulss xmm1, xmm1
movss dword [esi + 0xb4], xmm1
xorps xmm4, xmm0
movaps xmmword [esi + 0x3f0], xmm4
mov ecx, 1
mov edx, dword [esi + 0xc0]
sub ecx, edx
mov dword [esi + 0x184], ecx
lea ecx, [edx*4]
mov edx, 4
sub edx, ecx
mov dword [esi + 0x178], edx
mov ecx, dword [esi + 0x11c]
mov edx, 1
sub edx, dword [esi + 0x90]
mov dword [esi + 0x180], edx
lea edx, [ebx + edi]
add edx, 0x8c
mov dword [esi + 0x1a8], edx
mov edx, dword [esi + 0x108]
xor edi, edi
jmp 0x100c8b4b
movaps xmm6, xmmword [0x10162c20]
mov ecx, dword [esi + 0x168]
mov edi, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
movzx eax, word [edx]
mov word [edi], ax
movzx eax, word [edx + 2]
mov ebx, dword [esi + 0x7c]
mov word [ecx + ebx + 2], ax
mov edi, dword [esi + 0x10c]
movzx eax, word [edi]
add ax, word [edx]
mov word [ecx + ebx + 4], ax
movzx eax, word [edi + 2]
add ax, word [edx + 2]
mov edx, dword [esi + 0x108]
mov word [ecx + ebx + 6], ax
movsx eax, word [esi + 0x112]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x1b0]
movss dword [ecx + ebx + 0x10], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x170]
movss xmm7, dword [esi + 0x1a4]
mulss xmm0, xmm7
movss xmm4, dword [esi + 0x15c]
addss xmm0, xmm4
movss dword [ecx + ebx + 8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x16c]
movss xmm1, dword [esi + 0x1a0]
mulss xmm0, xmm1
movss xmm3, dword [esi + 0x160]
addss xmm0, xmm3
movss dword [ecx + ebx + 0xc], xmm0
movzx eax, word [edi]
add eax, dword [esi + 0x170]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm7
addss xmm0, xmm4
movss dword [ecx + ebx + 0x14], xmm0
movzx eax, word [edi + 2]
add eax, dword [esi + 0x16c]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm1
addss xmm0, xmm3
movss dword [ecx + ebx + 0x18], xmm0
mov eax, dword [esi + 0x1ac]
mov eax, dword [eax]
mov ecx, dword [esi + 0x11c]
movaps xmm0, xmmword [0x101540d0]
mov edi, dword [esi + 0x124]
inc edi
cmp edi, eax
jge 0x100cb5e0
mov ebx, edi
mov dword [esi + 0x124], edi
shl edi, 4
cmp dword [edx + edi + 0xc], 0
je 0x100c8b3c
movzx ebx, word [edx + edi + 4]
test bx, bx
je 0x100c8b3c
mov dword [esi + 0x10], eax
mov eax, ecx
movzx ecx, word [edx + edi + 6]
mov dword [esi + 0x40], ecx
test cx, cx
mov ecx, eax
mov eax, dword [esi + 0x10]
je 0x100c8b3c
lea eax, [edx + edi]
add eax, 4
mov dword [esi + 0x10c], eax
mov ecx, dword [esi + 0x1a8]
mov eax, dword [ecx]
mov dword [esi + 0x168], eax
mov eax, dword [ecx - 8]
test eax, eax
mov dword [esi + 0x14c], edi
je 0x100c8bb0
mov ecx, dword [esi + 0x124]
mov edx, dword [eax + ecx*4]
jmp 0x100c8bb9
mov edx, dword [ecx - 0xc]
add edx, dword [esi + 0x124]
mov dword [esi + 0x438], 7
mov edi, dword [esi + 0x164]
mov ecx, edi
call fcn.100cc7f0
mov ecx, dword [esi + 0x108]
mov edx, dword [esi + 0x14c]
movd xmm0, dword [ecx + edx + 8]
paddw xmm0, xmmword [esi + 0x400]
movd dword [ecx + edx + 8], xmm0
mov edx, dword [esi + 0xe4]
sub ebx, edx
mov ecx, dword [esi + 0x10c]
mov word [ecx], bx
mov ebx, ecx
mov ecx, dword [esi + 0x40]
sub ecx, edx
mov word [ebx + 2], cx
mov edx, dword [edi + 4]
mov ecx, dword [edi + 0x1c]
movzx ecx, word [edx + ecx + 0x22]
rol cx, 8
movzx ecx, cx
add edx, dword [edi + 0x20]
mov ebx, eax
lea eax, [eax*4]
cmp ecx, ebx
lea ecx, [ecx*4 - 4]
cmovg ecx, eax
movzx eax, word [ecx + edx]
mov word [esi + 0x112], ax
mov ecx, edi
mov edx, ebx
movss xmm0, dword [esi + 0x100]
movaps xmm1, xmmword [esi + 0x1d0]
lea eax, [esi + 0x1c8]
push eax
lea eax, [esi + 0x1cc]
push eax
lea eax, [esi + 0x16c]
push eax
lea eax, [esi + 0x170]
push eax
call fcn.100ccaf0
add esp, 0x10
mov ecx, dword [esi + 0x10c]
movzx eax, word [ecx + 2]
mov dword [esi + 0x104], eax
movzx eax, word [ecx]
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0x108]
mov edx, dword [esi + 0x14c]
movzx eax, word [ecx + edx + 8]
mov dword [esi + 0x40], eax
movzx eax, word [ecx + edx + 0xa]
mov dword [esi + 0xf0], eax
mov ecx, edi
mov dword [esi + 0x10], ebx
mov edx, ebx
lea eax, [esi + 0x174]
push eax
call fcn.100d0e90
add esp, 4
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x90]
neg eax
mov ecx, dword [esi + 0x104]
lea edi, [ecx + eax]
inc edi
mov ecx, dword [esi + 0x164]
mov edx, dword [esi + 0x10]
movd xmm0, dword [esi + 0x100]
movdqa xmm1, xmmword [esi + 0x1d0]
push 0
push 0
lea eax, [esi + 0xf4]
push eax
lea eax, [esi + 0xf8]
push eax
call fcn.100ccaf0
add esp, 0x10
mov dword [esi + 0x120], edi
test edi, edi
je 0x100c91cd
mov eax, dword [esi + 0xc0]
neg eax
mov ecx, dword [esi + 0x28]
add eax, ecx
inc eax
mov dword [esi + 0x144], eax
test eax, eax
je 0x100c91cd
mov eax, dword [esi + 0xf4]
mov dword [esi + 0x138], eax
mov eax, dword [esi + 0xf8]
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0x174]
mov dword [esi], eax
mov dword [esi + 0x1e8], 0
cmp dword [esi + 0x80], 0
jle 0x100c91c3
xor edi, edi
mov edx, 0
cmp dword [esi + 0x80], 8
jb 0x100c8e4a
mov edx, dword [esi + 0x80]
and edx, 0xfffffff8
mov eax, dword [esi]
lea ecx, [eax + 0x6e]
pxor xmm0, xmm0
mov dword [esi + 0x10], edx
pxor xmm1, xmm1
movdqa xmm4, xmmword [0x10162ba0]
movdqa xmm5, xmmword [0x10156cb0]
nop dword [eax]
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 0x100c8db0
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edi, xmm1
mov edx, dword [esi + 0x10]
cmp dword [esi + 0x80], edx
je 0x100c8e80
mov ecx, dword [esi + 0x80]
sub ecx, edx
mov eax, edx
shl eax, 4
sub eax, edx
sub eax, edx
mov edx, dword [esi]
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 0x100c8e70
mov eax, edi
mov dword [esi + 0xd8], edi
test edi, edi
je 0x100c91c3
mov eax, dword [esi + 0xd8]
lea eax, [eax*4]
mov dword [esi + 0x438], 7
push eax
call fcn.100a64d0
add esp, 4
mov dword [esi + 0xb8], eax
cmp dword [esi + 0xb8], 0
je 0x100c91c3
mov ecx, dword [esi + 0x40]
add ecx, dword [esi + 0x134]
mov eax, dword [esi + 0xf0]
imul eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0x104]
sub eax, dword [esi + 0x90]
mov dword [esi + 0x104], eax
mov eax, dword [esi + 0x28]
sub eax, dword [esi + 0xc0]
mov dword [esi + 0x5c], eax
xor eax, eax
mov cl, 1
xor edi, edi
xor ebx, ebx
jmp 0x100c8f3a
mov ebx, ecx
mov eax, dword [esi + 0x1e8]
mov edi, dword [esi + 0x40]
sub eax, edi
mov ecx, dword [esi + 0xb8]
mov edx, dword [esi + 0x10]
mov dword [ecx + edx*4], eax
mov al, 1
test byte [esi + 0x30], 1
mov ecx, 0
je 0x100c9161
mov dword [esi + 0x40], edi
mov dword [esi + 0x30], ecx
test al, 1
mov ecx, ebx
je 0x100c8f6c
mov eax, dword [esi + 0x1e8]
shl eax, 3
mov dword [esi + 0x438], 7
push eax
call fcn.100a64d0
add esp, 4
mov ecx, eax
test eax, eax
je 0x100c91ab
mov dword [esi + 0x1e8], 0
pxor xmm0, xmm0
mov dword [esi + 0x10], 0xffffffff
mov ebx, dword [esi + 0x80]
mov edi, dword [esi]
mov dword [esi + 0x2c], ecx
jmp 0x100c9028
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 + 0xb4]
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 + 0x1e8]
call fcn.100d1f20
mov ecx, dword [esi + 0x2c]
add esp, 0x14
movd xmm0, dword [edi]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
add edi, 0xe
dec ebx
je 0x100c8f10
movzx eax, byte [edi + 0xc]
dec eax
cmp eax, 3
mov edx, dword [esi + 0x10]
ja case.default.0x100c9035
jmp dword [eax*4 + 0x10162d70]
test edx, edx
js 0x100c9052
mov eax, dword [esi + 0x1e8]
sub eax, dword [esi + 0x40]
mov ecx, dword [esi + 0xb8]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x1e8]
lea eax, [ecx + 1]
movd xmm0, dword [edi]
mov dword [esi + 0x1e8], eax
inc edx
mov dword [esi + 0x10], edx
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
mov eax, dword [esi + 0x2c]
test eax, eax
mov dword [esi + 0x40], ecx
je 0x100c915a
movlps qword [eax + ecx*8], xmm0
mov ecx, eax
jmp case.default.0x100c9035
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 + 0xb4]
movss dword [esp + 0x14], xmm3
mov dword [esp + 0x18], 0
lea edx, [esi + 0x1e8]
call fcn.100d20b0
mov ecx, dword [esi + 0x2c]
add esp, 0x1c
jmp 0x100c900d
mov eax, dword [esi + 0x1e8]
mov edx, ecx
lea ecx, [eax + 1]
movd xmm0, dword [edi]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
mov dword [esi + 0x1e8], ecx
mov ecx, edx
test edx, edx
je case.default.0x100c9035
movlps qword [ecx + eax*8], xmm0
jmp case.default.0x100c9035
mov ecx, eax
jmp case.default.0x100c9035
test ebx, ebx
je 0x100c91cd
xor ecx, ecx
mov eax, 0
mov edx, dword [esi + 0xd8]
cmp edx, 8
mov ebx, dword [esi + 0xb8]
jb 0x100c9b20
mov eax, edx
and eax, 0xfffffff8
lea edx, [eax - 8]
mov edi, edx
shr edi, 3
inc edi
mov ecx, edi
and ecx, 3
cmp edx, 0x18
jae 0x100c9a5c
xorps xmm0, xmm0
xor edx, edx
pxor xmm1, xmm1
jmp 0x100c9ac7
push 0
call fcn.100a6500
add esp, 4
push dword [esi + 0xb8]
call fcn.100a6500
add esp, 4
mov dword [esi + 0x438], 7
mov eax, dword [esi + 0x174]
mov dword [esi + 0x438], 7
push eax
call fcn.100a6500
add esp, 4
mov ecx, dword [esi + 0x124]
lea eax, [ecx + ecx*8]
lea eax, [eax + eax*2]
add eax, ecx
mov dword [esi + 0x7c], eax
mov edx, dword [esi + 0x108]
mov eax, dword [esi + 0x14c]
add eax, edx
add eax, 8
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0xc0]
cmp al, 2
movaps xmm6, xmmword [0x10162c20]
jb 0x100c96b0
mov eax, dword [esi + 0x10c]
movzx edx, word [eax + 2]
movzx edi, word [eax]
mov ecx, dword [esi + 0x5c]
movzx eax, word [ecx]
movzx ebx, word [ecx + 2]
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1e8], 0
mov dword [esi + 4], edx
test edx, edx
je 0x100c96b0
mov edx, edi
add eax, dword [esi + 0x134]
imul ebx, dword [esi + 0xc]
add ebx, eax
mov eax, dword [esi + 0x184]
add eax, edi
mov dword [esi + 0x40], eax
and eax, 0xfffffffe
mov dword [esi], eax
mov eax, edi
neg eax
mov dword [esi + 0x2c], eax
xor edi, edi
mov dword [esi + 0x30], edx
jmp 0x100c92a0
add ebx, dword [esi + 0xc]
mov edi, dword [esi + 8]
inc edi
cmp edi, dword [esi + 4]
je 0x100c96b0
mov dword [esi + 0x10], ebx
mov ebx, dword [esi + 0xc0]
push ebx
push 0
lea eax, [esi + 0x1e8]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
movzx eax, bl
add eax, 0xfffffffe
cmp eax, 3
mov dword [esi + 8], edi
ja case.default.0x100c92d0
mov edx, dword [esi + 0x30]
jmp dword [eax*4 + 0x10162d80]
xor edi, edi
mov ecx, 0
cmp edx, ebx
movaps xmm6, xmmword [0x10162c20]
jb 0x100c9607
xor ecx, ecx
mov edi, 0
cmp edx, ebx
mov ebx, dword [esi + 0x10]
je 0x100c9385
xor ecx, ecx
xor edx, edx
nop word cs:[eax + eax]
mov eax, edx
and eax, 6
movzx eax, byte [esi + eax + 0x1e8]
mov dword [esi + 0x60], eax
lea edi, [edx + 2]
mov dword [esi + 0x80], edi
and edi, 6
movzx eax, byte [ebx + edx]
mov byte [esi + edi + 0x1e8], al
mov edi, eax
sub edi, dword [esi + 0x60]
add edi, ecx
mov eax, edi
shr eax, 1
mov byte [ebx + edx], al
lea eax, [edx + 1]
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
mov dword [esi + 0x60], eax
lea ecx, [edx + 3]
and ecx, 7
movzx eax, byte [ebx + edx + 1]
mov byte [esi + ecx + 0x1e8], al
mov ecx, eax
sub ecx, dword [esi + 0x60]
add ecx, edi
mov edi, dword [esi + 0x80]
mov eax, ecx
shr eax, 1
mov byte [ebx + edx + 1], al
mov eax, dword [esi]
mov edx, edi
cmp eax, edi
jne 0x100c9310
mov dword [esi + 0x80], edi
mov eax, dword [esi + 0x40]
mov edi, eax
test al, 1
mov edx, dword [esi + 0x30]
je 0x100c9607
mov ebx, dword [esi + 0x80]
mov eax, dword [esi + 0x10]
movzx edx, byte [eax + ebx]
mov eax, ebx
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
lea edi, [ebx + 2]
and edi, 7
mov byte [esi + edi + 0x1e8], dl
sub edx, eax
add ecx, edx
mov edx, dword [esi + 0x30]
mov eax, ecx
shr eax, 1
mov edi, dword [esi + 0x10]
mov byte [edi + ebx], al
mov edi, dword [esi + 0x40]
jmp 0x100c9607
xor edi, edi
mov ecx, 0
cmp edx, ebx
movaps xmm6, xmmword [0x10162c20]
jb 0x100c9607
xor ecx, ecx
mov eax, 0
cmp edx, ebx
mov edi, dword [esi + 0x10]
je 0x100c9479
xor ecx, ecx
xor eax, eax
nop dword [eax + eax]
movzx edx, byte [edi + eax]
mov edi, eax
and edi, 6
movzx edi, byte [esi + edi + 0x1e8]
lea ebx, [eax + 4]
and ebx, 6
mov byte [esi + ebx + 0x1e8], dl
sub edx, edi
add edx, ecx
mov ecx, edx
shr ecx, 2
mov edi, dword [esi + 0x10]
mov byte [edi + eax], cl
lea edi, [eax + 1]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [ecx + eax + 1]
and edi, 7
movzx edi, byte [esi + edi + 0x1e8]
lea ebx, [eax + 5]
and ebx, 7
mov byte [esi + ebx + 0x1e8], cl
sub ecx, edi
mov edi, dword [esi + 0x10]
add ecx, edx
mov edx, ecx
shr edx, 2
mov byte [edi + eax + 1], dl
mov edx, dword [esi]
add eax, 2
cmp edx, eax
jne 0x100c9410
mov edx, dword [esi + 0x40]
mov edi, edx
test dl, 1
mov edx, dword [esi + 0x30]
je 0x100c9607
mov edx, dword [esi + 0x10]
movzx edx, byte [edx + eax]
mov edi, eax
and edi, 7
movzx edi, byte [esi + edi + 0x1e8]
lea ebx, [eax + 4]
and ebx, 7
mov byte [esi + ebx + 0x1e8], dl
sub edx, edi
add ecx, edx
mov edx, ecx
shr edx, 2
mov edi, dword [esi + 0x10]
mov byte [edi + eax], dl
mov edx, dword [esi + 0x30]
mov edi, dword [esi + 0x40]
jmp 0x100c9607
xor edi, edi
mov ecx, 0
cmp edx, ebx
movaps xmm6, xmmword [0x10162c20]
jb 0x100c9607
xor ecx, ecx
xor edi, edi
nop word [eax + eax]
mov eax, dword [esi + 0x10]
movzx eax, byte [eax + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x1e8]
lea ebx, [edi + 3]
and ebx, 7
mov byte [esi + ebx + 0x1e8], al
mov ebx, dword [esi + 0x40]
sub eax, edx
add ecx, eax
mov eax, ecx
mov edx, 0xaaaaaaab
mul edx
shr edx, 1
mov eax, dword [esi + 0x10]
mov byte [eax + edi], dl
inc edi
cmp ebx, edi
jne 0x100c94f0
jmp 0x100c9602
xor edi, edi
mov ecx, 0
cmp edx, ebx
movaps xmm6, xmmword [0x10162c20]
jb 0x100c9607
xor ecx, ecx
xor edi, edi
nop word [eax + eax]
mov eax, dword [esi + 0x10]
movzx eax, byte [eax + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x1e8]
lea ebx, [edi + 5]
and ebx, 7
mov byte [esi + ebx + 0x1e8], al
mov ebx, dword [esi + 0x40]
sub eax, edx
add ecx, eax
mov eax, ecx
mov edx, 0xcccccccd
mul edx
shr edx, 2
mov eax, dword [esi + 0x10]
mov byte [eax + edi], dl
inc edi
cmp ebx, edi
jne 0x100c9560
jmp 0x100c9602
xor edi, edi
mov ecx, 0
mov edx, dword [esi + 0x30]
cmp edx, ebx
movaps xmm6, xmmword [0x10162c20]
jb 0x100c9607
xor ecx, ecx
xor edi, edi
nop word [eax + eax]
mov eax, dword [esi + 0x10]
movzx eax, byte [eax + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x1e8]
mov ebx, dword [esi + 0xc0]
add ebx, edi
and ebx, 7
mov byte [esi + ebx + 0x1e8], al
mov ebx, dword [esi + 0x40]
sub eax, edx
add ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xc0]
mov edx, dword [esi + 0x10]
mov byte [edx + edi], al
inc edi
cmp ebx, edi
jne 0x100c95c0
mov edi, ebx
mov edx, dword [esi + 0x30]
cmp edi, edx
mov ebx, dword [esi + 0x10]
jge 0x100c9290
mov eax, edx
sub eax, edi
test al, 1
jne 0x100c9620
mov eax, edi
jmp 0x100c9646
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xc0]
mov ebx, edi
mov edi, dword [esi + 0x10]
mov byte [edi + ebx], al
mov eax, ebx
lea edi, [ebx + 1]
not eax
cmp eax, dword [esi + 0x2c]
mov ebx, dword [esi + 0x10]
je 0x100c9290
nop word cs:[eax + eax]
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
mov ebx, dword [esi + 0xc0]
div ebx
mov edx, dword [esi + 0x10]
mov byte [edx + edi], al
lea eax, [edi + 1]
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
div ebx
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0x30]
mov byte [ebx + edi + 1], al
add edi, 2
cmp edx, edi
jne 0x100c9660
jmp 0x100c9290
mov ecx, dword [esi + 0x168]
mov eax, dword [esi + 0x7c]
lea edi, [ecx + eax]
rol word [esi + 0x112], 8
cmp byte [esi + 0xe3], 2
jb 0x100c8a43
mov dword [esi + 0x58], edi
mov eax, dword [esi + 0x10c]
movzx edx, word [eax + 2]
movzx edi, word [eax]
mov ecx, dword [esi + 0x5c]
movzx eax, word [ecx]
movzx ecx, word [ecx + 2]
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1e8], 0
mov dword [esi + 4], edi
test edi, edi
je 0x100c8a33
add eax, dword [esi + 0x134]
imul ecx, dword [esi + 0xc]
add ecx, eax
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x180]
add eax, edx
mov dword [esi + 0x10], eax
mov eax, edx
neg eax
mov dword [esi + 0x2c], eax
xor ebx, ebx
mov dword [esi + 0x80], edx
jmp 0x100c9750
inc dword [esi + 0x60]
mov ebx, dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 4]
je 0x100c8a33
mov edi, dword [esi + 0x90]
push edi
push 0
lea eax, [esi + 0x1e8]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [edi - 2]
cmp eax, 3
mov dword [esi + 8], ebx
ja case.default.0x100c977d
mov edx, dword [esi + 0x80]
jmp dword [eax*4 + 0x10162d90]
xor ebx, ebx
mov ecx, 0
cmp edx, dword [esi + 0x90]
jb 0x100c9999
xor ecx, ecx
mov eax, dword [esi + 0x60]
xor edx, edx
nop
movzx ebx, byte [eax]
mov edi, edx
and edi, 7
movzx edi, byte [esi + edi + 0x1e8]
mov dword [esi + 0x40], edi
lea edi, [edx + 2]
and edi, 7
mov byte [esi + edi + 0x1e8], bl
sub ebx, dword [esi + 0x40]
add ecx, ebx
mov ebx, ecx
shr ebx, 1
mov byte [eax], bl
inc edx
add eax, dword [esi + 0xc]
cmp dword [esi + 0x10], edx
jne 0x100c97a0
jmp 0x100c9990
xor ebx, ebx
mov ecx, 0
cmp edx, dword [esi + 0x90]
jb 0x100c9999
xor ecx, ecx
mov eax, dword [esi + 0x60]
xor edx, edx
nop word [eax + eax]
movzx ebx, byte [eax]
mov edi, edx
and edi, 7
movzx edi, byte [esi + edi + 0x1e8]
mov dword [esi + 0x40], edi
lea edi, [edx + 4]
and edi, 7
mov byte [esi + edi + 0x1e8], bl
sub ebx, dword [esi + 0x40]
add ecx, ebx
mov ebx, ecx
shr ebx, 2
mov byte [eax], bl
inc edx
add eax, dword [esi + 0xc]
cmp dword [esi + 0x10], edx
jne 0x100c9800
jmp 0x100c9990
xor ebx, ebx
mov ecx, 0
cmp edx, dword [esi + 0x90]
jb 0x100c9999
xor ecx, ecx
mov eax, dword [esi + 0x60]
xor edi, edi
nop word [eax + eax]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
movzx eax, byte [eax]
mov dword [esi + 0x40], eax
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
mov edx, dword [esi + 0x40]
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 + 0x40]
mov byte [esi + eax + 0x1e8], bl
mov eax, dword [esi + 0x30]
shr edx, 1
mov byte [eax], dl
inc edi
add eax, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jne 0x100c9860
jmp 0x100c9990
xor ebx, ebx
mov ecx, 0
cmp edx, dword [esi + 0x90]
jb 0x100c9999
xor ecx, ecx
mov eax, dword [esi + 0x60]
xor edi, edi
nop word [eax + eax]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x30]
movzx eax, byte [eax]
mov dword [esi + 0x40], eax
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
mov edx, dword [esi + 0x40]
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 + 0x40]
mov byte [esi + eax + 0x1e8], bl
mov eax, dword [esi + 0x30]
shr edx, 2
mov byte [eax], dl
inc edi
add eax, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jne 0x100c98d0
jmp 0x100c9990
xor ebx, ebx
mov ecx, 0
mov edx, dword [esi + 0x80]
cmp edx, edi
jb 0x100c9999
xor ecx, ecx
mov edi, dword [esi + 0x60]
xor ebx, ebx
nop word cs:[eax + eax]
movzx eax, byte [edi]
mov dword [esi + 0x30], eax
mov edx, ebx
and edx, 7
movzx edx, byte [esi + edx + 0x1e8]
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x90]
lea edx, [eax + ebx]
and edx, 7
mov eax, dword [esi + 0x30]
mov byte [esi + edx + 0x1e8], al
sub eax, dword [esi + 0x40]
add ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0x90]
mov byte [edi], al
inc ebx
add edi, dword [esi + 0xc]
cmp dword [esi + 0x10], ebx
jne 0x100c9940
nop word cs:[eax + eax]
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0x80]
cmp ebx, edx
jge 0x100c9740
mov eax, edx
sub eax, ebx
test al, 1
jne 0x100c99b0
mov edi, ebx
jmp 0x100c99d8
mov eax, ebx
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0x90]
mov edx, ebx
imul edx, dword [esi + 0xc]
mov edi, dword [esi + 0x60]
mov byte [edi + edx], al
lea edi, [ebx + 1]
not ebx
cmp ebx, dword [esi + 0x2c]
je 0x100c9740
lea edx, [edi + 1]
mov eax, dword [esi + 0xc]
imul edx, eax
mov dword [esi + 0x30], edx
imul eax, edi
mov dword [esi], eax
mov ebx, dword [esi + 0x60]
nop word [eax + eax]
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov dword [esi + 0x40], ecx
mov eax, ecx
xor edx, edx
div dword [esi + 0x90]
mov ecx, dword [esi + 0x40]
mov edx, dword [esi]
mov byte [ebx + edx], al
lea eax, [edi + 1]
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0x90]
mov edx, dword [esi + 0x30]
mov byte [ebx + edx], al
mov edx, dword [esi + 0x80]
add edi, 2
add ebx, dword [esi + 0xa4]
cmp edx, edi
jne 0x100c9a00
jmp 0x100c9740
and edi, 0xfffffffc
xorps xmm0, xmm0
xor edx, edx
pxor xmm1, xmm1
nop dword [eax + eax]
movdqu xmm2, xmmword [ebx + edx*4]
paddd xmm2, xmm0
movdqu xmm0, xmmword [ebx + edx*4 + 0x10]
paddd xmm0, xmm1
movdqu xmm1, xmmword [ebx + edx*4 + 0x20]
movdqu xmm3, xmmword [ebx + edx*4 + 0x30]
movdqu xmm4, xmmword [ebx + edx*4 + 0x40]
paddd xmm4, xmm1
paddd xmm4, xmm2
movdqu xmm2, xmmword [ebx + edx*4 + 0x50]
paddd xmm2, xmm3
paddd xmm2, xmm0
movdqu xmm0, xmmword [ebx + edx*4 + 0x60]
paddd xmm0, xmm4
movdqu xmm1, xmmword [ebx + edx*4 + 0x70]
paddd xmm1, xmm2
add edx, 0x20
add edi, 0xfffffffc
jne 0x100c9a70
test ecx, ecx
je 0x100c9afa
lea edx, [ebx + edx*4]
add edx, 0x10
shl ecx, 5
xor edi, edi
nop word cs:[eax + eax]
movdqu xmm2, xmmword [edx + edi - 0x10]
paddd xmm0, xmm2
movdqu xmm2, xmmword [edx + edi]
paddd xmm1, xmm2
add edi, 0x20
cmp ecx, edi
jne 0x100c9ae0
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0x55
paddd xmm0, xmm1
movd ecx, xmm0
mov edx, dword [esi + 0xd8]
jmp 0x100c9b24
add ecx, dword [ebx + eax*4]
inc eax
cmp edx, eax
jne 0x100c9b20
lea eax, [ecx + ecx*4]
lea eax, [eax*4 + 0x14]
mov dword [esi + 0x438], 7
push eax
call fcn.100a64d0
add esp, 4
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x2c]
cmp dword [esi + 0x58], 0
je 0x100cb5b6
add eax, 4
mov dword [esi + 0xec], eax
mov dword [esi + 0x80], 0
xor ecx, ecx
xor edx, edx
pxor xmm1, xmm1
movss xmm2, dword [esi + 0x100]
movaps xmm3, xmmword [esi + 0x3f0]
jmp 0x100c9ba6
mov edx, dword [esi + 0x7c]
add edx, dword [esi + 0x20]
mov ecx, dword [esi + 4]
inc ecx
cmp ecx, dword [esi + 0xd8]
je 0x100c9cc4
mov eax, dword [esi + 0xb8]
mov dword [esi + 4], ecx
mov ebx, dword [eax + ecx*4]
test ebx, ebx
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x7c], edx
mov dword [esi + 0x20], ebx
jle 0x100c9b90
lea eax, [eax + edx*8]
mov dword [esi + 0x40], eax
lea edi, [ebx - 1]
mov eax, dword [esi + 0xec]
lea eax, [eax + edx*8]
mov dword [esi + 0x30], eax
xor edx, edx
jmp 0x100c9c6f
mov ecx, ebx
mov ebx, dword [esi + 0x10]
lea edx, [ecx + ebx*4]
add edx, 0x10
mov dword [edx], 1
mov dword [esi], edi
mov edi, eax
lea ecx, [ecx + ebx*4]
mov dword [esi + 0x60], ecx
mov edx, dword [esi + 0x40]
mov ecx, dword [esi]
movss xmm0, dword [edx + ecx*8]
mulss xmm0, xmm2
addss xmm0, xmm1
mov ebx, dword [esi + 0x60]
movss dword [ebx], xmm0
movss xmm0, dword [edx + ecx*8 + 4]
mulss xmm0, xmm3
addss xmm0, xmm1
mov ecx, dword [esi + 0x58]
mov ebx, dword [esi + 0x10]
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 + 0x80]
mov ecx, dword [esi + 0xb8]
mov edx, dword [esi + 4]
mov ebx, dword [ecx + edx*4]
lea edx, [eax + 1]
mov edi, eax
cmp edx, ebx
jge 0x100c9b90
mov eax, edx
mov edx, dword [esi + 0x40]
movss xmm0, dword [edx + edi*8 + 4]
mov ecx, dword [esi + 0x30]
ucomiss xmm0, dword [ecx + eax*8]
jne 0x100c9c85
jnp 0x100c9c62
mov ebx, dword [esi + 0x80]
mov dword [esi + 8], eax
lea eax, [ebx + ebx*4]
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0x58]
mov eax, dword [esi + 0x10]
mov dword [ebx + eax*4 + 0x10], 0
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x58]
movss xmm0, dword [edx + edi*8 + 4]
ucomiss xmm0, dword [ecx + eax*8]
ja 0x100c9bdb
mov ecx, ebx
mov dword [esi], eax
mov ebx, dword [esi + 0x10]
jmp 0x100c9bf0
mov ecx, dword [esi + 0x58]
mov ebx, dword [esi + 0x80]
mov edx, ebx
call fcn.100d24b0
cmp ebx, 2
mov dword [esi + 0x80], ebx
jl 0x100c9d97
mov eax, 1
mov edi, dword [esi + 0x58]
jmp 0x100c9cff
inc eax
mov edi, dword [esi + 0x10]
add edi, 0x14
cmp eax, ebx
je 0x100c9d97
lea edx, [eax + eax*4]
mov ecx, dword [esi + 0x58]
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 + 0x1f0], edi
movsd xmm2, qword [ecx + edx*4 + 8]
movsd qword [esi + 0x1e8], xmm2
mov dword [esi + 0x10], ebx
mov edi, ebx
mov edx, eax
nop word cs:[eax + eax]
movss xmm2, dword [edi + 4]
ucomiss xmm2, xmm1
jbe 0x100c9d66
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 0x100c9d40
xor edx, edx
mov ebx, dword [esi + 0x80]
cmp eax, edx
je 0x100c9cf0
lea ecx, [edx + edx*4]
mov edi, dword [esi + 0x58]
movlps qword [edi + ecx*4], xmm0
movsd xmm0, qword [esi + 0x1e8]
movsd qword [edi + ecx*4 + 8], xmm0
mov edx, dword [esi + 0x1f0]
mov dword [edi + ecx*4 + 0x10], edx
jmp 0x100c9cf0
mov dword [esi + 0xbc], 0
lea eax, [esi + 0x1e8]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x5c], 0x40
mov ecx, dword [esi + 0x144]
jl 0x100c9ddf
lea eax, [ecx*8 + 4]
mov dword [esi + 0x438], 7
push eax
call fcn.100a64d0
add esp, 4
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 0x144]
mov ebx, dword [esi + 0x80]
mov edx, dword [esi + 0x138]
mov eax, dword [esi + 0x120]
add eax, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
addss xmm0, dword [0x10154df4]
lea eax, [ebx + ebx*4]
mov edi, dword [esi + 0x58]
movss dword [edi + eax*4 + 4], xmm0
cmp dword [esi + 0x104], 0x7ffffffe
mov ebx, dword [esi + 0xf0]
ja 0x100cb58b
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0xd4]
movss dword [esi + 0x13c], xmm0
mov edi, dword [esi + 0x20]
lea eax, [edi + ecx*4]
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movss dword [esi + 0xd8], xmm0
mov dword [esi + 0x190], eax
add eax, 4
mov dword [esi + 0xe8], eax
lea eax, [ecx*4]
mov dword [esi + 0x18c], eax
mov eax, dword [esi + 0x178]
mov edx, dword [esi + 0x28]
lea eax, [eax + edx*4]
add eax, edi
mov dword [esi + 0x120], eax
lea eax, [ecx*4 + 4]
mov dword [esi + 0x188], eax
mov dword [esi + 0xfc], 0
mov eax, dword [esi + 0x58]
mov dword [esi + 0xec], eax
mov edx, dword [esi + 0x138]
mov eax, edi
mov dword [esi + 0x140], 0
mov dword [esi + 0x148], 0
xor edi, edi
mov dword [esi + 0xd4], 0
jmp 0x100c9ee8
mov edx, dword [esi + 0x19c]
inc edx
add ebx, dword [esi + 0xc]
mov eax, dword [esi + 0x140]
cmp eax, dword [esi + 0x104]
lea eax, [eax + 1]
mov dword [esi + 0x140], eax
mov eax, dword [esi + 0x20]
je 0x100cb54e
mov dword [esi + 0xf0], ebx
mov dword [esi + 0x19c], edx
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
movss dword [esi], xmm0
addss xmm0, dword [0x10154df4]
movss dword [esi + 8], xmm0
push dword [esi + 0x18c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esi + 0x188]
push 0
push dword [esi + 0x190]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ebx, dword [esi + 0xfc]
test ebx, ebx
je 0x100c9f90
lea eax, [esi + 0xbc]
xorps xmm3, xmm3
movss xmm2, dword [esi + 0x13c]
movss xmm0, dword [esi]
movss xmm5, dword [esi + 8]
mov edx, dword [esi + 0xec]
jmp 0x100c9f7b
mov ecx, dword [ebx]
mov dword [eax], ecx
mov edx, dword [esi + 0xec]
mov dword [ebx + 0x10], 0
mov dword [ebx], edi
mov edi, ebx
mov ebx, dword [eax]
test ebx, ebx
je 0x100c9fa6
ucomiss xmm0, dword [ebx + 0x18]
jae 0x100c9f60
mov eax, ebx
jmp 0x100c9f75
xorps xmm3, xmm3
movss xmm2, dword [esi + 0x13c]
movss xmm5, dword [esi + 8]
mov edx, dword [esi + 0xec]
movss xmm0, dword [edx + 4]
ucomiss xmm5, xmm0
jae 0x100cb380
mov dword [esi + 0xec], edx
mov dword [esi + 0x198], edi
mov eax, dword [esi + 0xbc]
mov dword [esi + 0xfc], eax
test eax, eax
je 0x100cb2b0
movss xmm0, dword [esi + 8]
subss xmm0, dword [esi]
movss dword [esi + 0x114], xmm0
mov eax, dword [esi + 0xfc]
jmp 0x100ca06d
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movaps xmm3, xmmword [esi + 0x10]
mulss xmm3, xmm1
addss xmm3, xmm7
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
subss xmm2, xmm1
movaps xmm1, xmm4
subss xmm1, xmm3
addss xmm2, dword [0x10154e10]
mulss xmm2, dword [0x10154dd0]
addss xmm2, dword [0x10154df4]
movss xmm3, dword [esi + 0x40]
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 + 0xe8]
addss xmm4, dword [edx + ebx*4]
movss dword [edx + ebx*4], xmm4
mov eax, dword [eax]
test eax, eax
xorps xmm3, xmm3
je 0x100cb2b0
movss xmm2, dword [eax + 4]
movss xmm4, dword [eax + 8]
ucomiss xmm4, xmm3
movaps xmmword [esi + 0x60], xmm2
jne 0x100ca150
jp 0x100ca150
xorps xmm0, xmm0
movss xmm1, dword [esi + 0xd8]
ucomiss xmm1, xmm2
jbe 0x100ca060
movaps xmm1, xmmword [esi + 0x60]
ucomiss xmm1, xmm0
jae 0x100ca28a
movss xmm0, dword [esi + 8]
ucomiss xmm0, dword [esi]
jne 0x100ca0b3
jnp 0x100ca060
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [esi]
ucomiss xmm1, xmm0
ja 0x100ca060
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100ca060
movss xmm3, dword [esi]
ucomiss xmm1, xmm3
movaps xmm2, xmmword [esi + 0x60]
jbe 0x100ca0fe
movaps xmm4, xmmword [esi + 0x60]
movaps xmm3, xmm4
subss xmm3, xmm4
movaps xmm2, xmm1
subss xmm2, dword [esi]
mulss xmm2, xmm3
divss xmm2, dword [esi + 0x114]
addss xmm2, xmm4
movaps xmm3, xmm1
movss xmm6, dword [esi + 8]
ucomiss xmm6, xmm0
xorps xmm5, xmm5
jbe 0x100cb0b8
movaps xmm7, xmmword [esi + 0x60]
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 + 0x60], xmm7
ucomiss xmm5, xmm2
jae 0x100cb0c4
jmp 0x100cb1c1
movaps xmm0, xmm4
addss xmm0, xmm2
movaps xmmword [esi + 0x30], xmm0
movss xmm0, dword [eax + 0x14]
movaps xmm1, xmm0
movss xmm6, dword [esi]
subss xmm1, xmm6
movss dword [esi + 0x7c], xmm4
mulss xmm1, xmm4
addss xmm1, xmm2
cmpltss xmm6, xmm0
andps xmm1, xmm6
andnps xmm6, xmm2
orps xmm6, xmm1
ucomiss xmm6, xmm3
jb 0x100ca260
movss xmm4, dword [eax + 0x18]
movaps xmm1, xmm4
subss xmm1, dword [esi]
mulss xmm1, dword [esi + 0x7c]
addss xmm1, dword [esi + 0x60]
movaps xmm5, xmm4
cmpltss xmm5, dword [esi + 8]
movaps xmm2, xmm5
andps xmm5, xmm1
andnps xmm2, xmmword [esi + 0x30]
orps xmm5, xmm2
ucomiss xmm5, xmm3
jb 0x100ca260
movss xmm1, dword [esi + 0xd8]
ucomiss xmm1, xmm6
jbe 0x100ca260
movss xmm1, dword [esi + 0xd8]
ucomiss xmm1, xmm5
jbe 0x100ca260
movss xmm3, dword [esi]
maxss xmm0, xmm3
cvttss2si edi, xmm6
minss xmm4, dword [esi + 8]
cvttss2si ecx, xmm5
cmp edi, ecx
jne 0x100caf54
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
subss xmm6, xmm1
subss xmm5, xmm1
addss xmm5, xmm6
mulss xmm5, dword [0x10154dd0]
addss xmm5, dword [0x10154df4]
mulss xmm5, dword [eax + 0x10]
subss xmm4, xmm0
mulss xmm5, xmm4
mov ecx, dword [esi + 0x20]
addss xmm5, dword [ecx + edi*4]
movss dword [ecx + edi*4], xmm5
mulss xmm4, dword [eax + 0x10]
mov ecx, dword [esi + 0xe8]
addss xmm4, dword [ecx + edi*4]
movss dword [ecx + edi*4], xmm4
jmp 0x100ca060
cmp dword [esi + 0x5c], 0x7ffffffe
ja 0x100ca060
movaps xmm0, xmmword [esi + 0x30]
subss xmm0, dword [esi + 0x60]
movaps xmmword [esi + 0x410], xmm0
lea ecx, [eax + 0x10]
mov dword [esi + 0x28], ecx
xor ecx, ecx
jmp 0x100ca3a9
movss xmm0, dword [esi + 8]
ucomiss xmm0, dword [esi]
jne 0x100ca29a
jnp 0x100ca060
cvttss2si ecx, dword [esi + 0x60]
movss xmm4, dword [eax + 0x18]
movss xmm0, dword [esi]
ucomiss xmm0, xmm4
ja 0x100cb136
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100cb136
movss xmm3, dword [esi]
ucomiss xmm1, xmm3
movaps xmm5, xmmword [esi + 0x60]
movaps xmm0, xmm5
jbe 0x100ca2f1
movaps xmm2, xmm5
subss xmm2, xmm5
movaps xmm0, xmm1
subss xmm0, dword [esi]
mulss xmm0, xmm2
divss xmm0, dword [esi + 0x114]
addss xmm0, xmm5
movaps xmm3, xmm1
movss xmm6, dword [esi + 8]
ucomiss xmm6, xmm4
movaps xmm2, xmm5
movaps xmm5, xmm6
jbe 0x100ca329
movaps xmm5, xmmword [esi + 0x60]
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 0x100cb0ec
ucomiss xmm1, xmm2
jb 0x100cb0ec
subss xmm5, xmm3
mulss xmm5, dword [eax + 0x10]
mov edx, dword [esi + 0x20]
addss xmm5, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm5
jmp 0x100cb136
subss xmm1, xmm0
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
movss xmm0, dword [esi + 0x10]
subss xmm5, xmm0
subss xmm6, xmm0
addss xmm6, xmm5
mulss xmm6, dword [0x10154dd0]
addss xmm6, dword [0x10154df4]
mulss xmm6, xmm1
mov edi, dword [esi + 0x20]
addss xmm6, dword [edi + edx*4]
movss dword [edi + edx*4], xmm6
nop word [eax + eax]
cmp edx, dword [esi + 0x5c]
je 0x100ca060
mov edx, ecx
xorps xmm5, xmm5
cvtsi2ss xmm5, ecx
inc ecx
xorps xmm6, xmm6
cvtsi2ss xmm6, ecx
movaps xmm0, xmm5
movaps xmm3, xmmword [esi + 0x60]
subss xmm0, xmm3
movaps xmm7, xmm0
movss xmm4, dword [esi + 0x7c]
divss xmm7, xmm4
movss xmm1, dword [esi]
addss xmm7, xmm1
movss dword [esi + 0x40], xmm7
movaps xmm7, xmm6
subss xmm7, xmm3
movaps xmm2, xmm7
divss xmm7, xmm4
addss xmm7, xmm1
movss dword [esi + 0x80], xmm7
movss dword [esi + 0x10], xmm5
ucomiss xmm5, xmm3
movss dword [esi + 4], xmm6
jbe 0x100ca500
movaps xmm4, xmmword [esi + 0x30]
ucomiss xmm4, xmm6
jbe 0x100ca500
movss xmm6, dword [esi + 0x40]
ucomiss xmm6, xmm1
movss xmm7, dword [esi + 0x80]
jne 0x100ca430
jnp 0x100ca870
movss xmm3, dword [eax + 0x18]
movss xmm1, dword [esi]
ucomiss xmm1, xmm3
ja 0x100ca870
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm6
ja 0x100ca870
movss xmm6, dword [esi]
ucomiss xmm1, xmm6
movaps xmm2, xmmword [esi + 0x60]
movaps xmm4, xmm6
jbe 0x100ca487
movaps xmm6, xmm1
movss xmm2, dword [esi]
subss xmm6, xmm2
mulss xmm0, xmm6
movss xmm6, dword [esi + 0x40]
subss xmm6, xmm2
divss xmm0, xmm6
addss xmm0, dword [esi + 0x60]
movaps xmm2, xmm0
movaps xmm4, xmm1
movss xmm6, dword [esi + 0x40]
ucomiss xmm6, xmm3
movss xmm5, dword [esi + 0x10]
movaps xmm1, xmm6
jbe 0x100ca4c2
movss xmm0, dword [esi + 0x10]
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 + 0x10]
ucomiss xmm0, xmm2
jb 0x100ca819
movss xmm0, dword [esi + 0x10]
ucomiss xmm0, xmm5
jb 0x100ca819
subss xmm1, xmm4
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
mov edi, dword [esi + 0x20]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
jmp 0x100ca870
movss xmm5, dword [esi + 0x10]
ucomiss xmm5, dword [esi + 0x30]
jbe 0x100ca600
ucomiss xmm3, xmm6
jbe 0x100ca600
movss xmm5, dword [esi + 0x80]
ucomiss xmm5, xmm1
jne 0x100ca52b
jnp 0x100caba0
movss xmm3, dword [eax + 0x18]
movss xmm1, dword [esi]
ucomiss xmm1, xmm3
ja 0x100caba0
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm5
ja 0x100caba0
movss xmm5, dword [esi]
ucomiss xmm1, xmm5
movaps xmm7, xmmword [esi + 0x60]
jbe 0x100ca582
movaps xmm5, xmm1
movss xmm0, dword [esi]
subss xmm5, xmm0
mulss xmm2, xmm5
movss xmm5, dword [esi + 0x80]
subss xmm5, xmm0
divss xmm2, xmm5
addss xmm2, dword [esi + 0x60]
movaps xmm7, xmm2
movaps xmm5, xmm1
movss xmm4, dword [esi + 0x80]
ucomiss xmm4, xmm3
movss xmm0, dword [esi + 4]
movaps xmm6, xmm0
movaps xmm1, xmm4
jbe 0x100ca5be
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 + 0x10]
ucomiss xmm3, xmm7
jb 0x100cab4e
movss xmm3, dword [esi + 0x10]
ucomiss xmm3, xmm6
jb 0x100cab4e
subss xmm1, xmm5
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
mov edi, dword [esi + 0x20]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
movss xmm5, dword [esi + 0x80]
jmp 0x100caba0
movss xmm5, dword [esi + 0x10]
ucomiss xmm5, xmm3
jbe 0x100ca614
movaps xmm4, xmmword [esi + 0x30]
ucomiss xmm4, dword [esi + 0x10]
ja 0x100ca62d
movss xmm5, dword [esi + 0x10]
ucomiss xmm5, dword [esi + 0x30]
jbe 0x100ca70f
ucomiss xmm3, dword [esi + 0x10]
jbe 0x100ca70f
movss xmm2, dword [esi + 0x40]
ucomiss xmm2, xmm1
jne 0x100ca63d
jnp 0x100cad82
movss xmm5, dword [eax + 0x18]
movss xmm1, dword [esi]
ucomiss xmm1, xmm5
ja 0x100cad82
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm2
ja 0x100cad82
movss xmm3, dword [esi]
ucomiss xmm1, xmm3
movaps xmm6, xmmword [esi + 0x60]
movaps xmm4, xmm3
jbe 0x100ca694
movaps xmm3, xmm1
movss xmm6, dword [esi]
subss xmm3, xmm6
mulss xmm0, xmm3
movss xmm3, dword [esi + 0x40]
subss xmm3, xmm6
divss xmm0, xmm3
addss xmm0, dword [esi + 0x60]
movaps xmm6, xmm0
movaps xmm4, xmm1
movss xmm1, dword [esi + 0x40]
ucomiss xmm1, xmm5
movss xmm3, dword [esi + 0x10]
jbe 0x100ca6d1
movss xmm0, dword [esi + 0x10]
movaps xmm1, xmm0
subss xmm1, xmm6
movaps xmm3, xmm5
movss xmm2, dword [esi + 0x40]
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 + 0x10]
ucomiss xmm0, xmm6
jb 0x100cad34
movss xmm0, dword [esi + 0x10]
ucomiss xmm0, xmm3
jb 0x100cad34
subss xmm1, xmm4
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
mov edi, dword [esi + 0x20]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
movss xmm2, dword [esi + 0x40]
jmp 0x100cad82
ucomiss xmm6, xmm3
jbe 0x100ca71d
movaps xmm0, xmmword [esi + 0x30]
ucomiss xmm0, xmm6
ja 0x100ca730
ucomiss xmm6, dword [esi + 0x30]
jbe 0x100caa8f
ucomiss xmm3, xmm6
jbe 0x100caa8f
movss xmm7, dword [esi + 0x80]
ucomiss xmm7, xmm1
jne 0x100ca743
jnp 0x100ca9a0
movss xmm5, dword [eax + 0x18]
movss xmm0, dword [esi]
ucomiss xmm0, xmm5
ja 0x100ca9a0
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm7
ja 0x100ca9a0
movss xmm3, dword [esi]
ucomiss xmm1, xmm3
movaps xmm0, xmmword [esi + 0x60]
movaps xmm4, xmm3
jbe 0x100ca79d
movaps xmm0, xmm1
movss xmm3, dword [esi]
subss xmm0, xmm3
mulss xmm2, xmm0
movss xmm0, dword [esi + 0x80]
subss xmm0, xmm3
divss xmm2, xmm0
addss xmm2, dword [esi + 0x60]
movaps xmm0, xmm2
movaps xmm4, xmm1
movss xmm1, dword [esi + 0x80]
ucomiss xmm1, xmm5
movss xmm3, dword [esi + 4]
movaps xmm6, xmm1
jbe 0x100ca7d8
movss xmm6, dword [esi + 4]
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 + 0x10]
ucomiss xmm1, xmm0
jb 0x100caea8
movss xmm1, dword [esi + 0x10]
ucomiss xmm1, xmm3
jb 0x100caea8
subss xmm6, xmm4
mov edi, dword [esi + 0x28]
mulss xmm6, dword [edi]
mov edi, dword [esi + 0x20]
addss xmm6, dword [edi + edx*4]
movss dword [edi + edx*4], xmm6
movss xmm7, dword [esi + 0x80]
jmp 0x100ca9a0
ucomiss xmm2, dword [esi + 4]
jb 0x100ca825
ucomiss xmm5, dword [esi + 4]
jae 0x100ca870
subss xmm1, xmm4
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
movss xmm0, dword [esi + 0x10]
subss xmm2, xmm0
subss xmm5, xmm0
addss xmm5, xmm2
mulss xmm5, dword [0x10154dd0]
addss xmm5, dword [0x10154df4]
mulss xmm5, xmm1
mov edi, dword [esi + 0x20]
addss xmm5, dword [edi + edx*4]
movss dword [edi + edx*4], xmm5
nop word cs:[eax + eax]
ucomiss xmm6, xmm7
jne 0x100ca87b
jnp 0x100ca9a0
movss xmm3, dword [eax + 0x18]
ucomiss xmm6, xmm3
ja 0x100ca9a0
movss xmm5, dword [eax + 0x14]
ucomiss xmm5, xmm7
ja 0x100ca9a0
ucomiss xmm5, xmm6
movaps xmm4, xmm6
jbe 0x100ca8cc
movss xmm0, dword [esi + 4]
movaps xmm1, xmm0
movss xmm2, dword [esi + 0x10]
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 0x100ca8d9
movss xmm6, dword [esi + 0x10]
movaps xmm5, xmm4
movss xmm0, dword [esi + 4]
ucomiss xmm7, xmm3
movaps xmm1, xmm7
jbe 0x100ca91b
movss xmm2, dword [esi + 4]
movaps xmm1, xmm2
subss xmm1, xmm6
movaps xmm0, xmm3
subss xmm0, dword [esi + 0x80]
mulss xmm0, xmm1
movss xmm1, dword [esi + 0x80]
subss xmm1, xmm5
divss xmm0, xmm1
addss xmm0, xmm2
movss xmm7, dword [esi + 0x80]
movaps xmm1, xmm3
movss xmm2, dword [esi + 0x10]
ucomiss xmm2, xmm6
jb 0x100ca949
movss xmm2, dword [esi + 0x10]
ucomiss xmm2, xmm0
jb 0x100ca949
subss xmm1, xmm5
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
mov edi, dword [esi + 0x20]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
jmp 0x100ca9a0
ucomiss xmm6, dword [esi + 4]
jb 0x100ca955
ucomiss xmm0, dword [esi + 4]
jae 0x100ca9a0
subss xmm1, xmm5
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
movss xmm2, dword [esi + 0x10]
subss xmm6, xmm2
subss xmm0, xmm2
addss xmm0, xmm6
mulss xmm0, dword [0x10154dd0]
addss xmm0, dword [0x10154df4]
mulss xmm0, xmm1
mov edi, dword [esi + 0x20]
addss xmm0, dword [edi + edx*4]
movss dword [edi + edx*4], xmm0
nop word cs:[eax + eax]
ucomiss xmm7, dword [esi + 8]
jne 0x100ca9ac
jnp 0x100ca3a0
movss xmm3, dword [eax + 0x18]
ucomiss xmm7, xmm3
ja 0x100ca3a0
movss xmm0, dword [eax + 0x14]
ucomiss xmm0, dword [esi + 8]
ja 0x100ca3a0
ucomiss xmm0, xmm7
jbe 0x100ca9ff
movaps xmm1, xmmword [esi + 0x30]
movaps xmm2, xmm7
movss xmm7, dword [esi + 4]
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 0x100caa0c
movss xmm5, dword [esi + 4]
movaps xmm0, xmm7
movss xmm6, dword [esi + 8]
ucomiss xmm6, xmm3
movaps xmm1, xmm6
movaps xmm6, xmmword [esi + 0x30]
jbe 0x100caa45
movaps xmm2, xmmword [esi + 0x30]
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 + 0x10]
ucomiss xmm2, xmm5
jb 0x100caa76
movss xmm2, dword [esi + 0x10]
ucomiss xmm2, xmm6
jb 0x100caa76
subss xmm1, xmm0
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
mov edi, dword [esi + 0x20]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
jmp 0x100ca3a0
ucomiss xmm5, dword [esi + 4]
jb 0x100ca35d
ucomiss xmm6, dword [esi + 4]
jae 0x100ca3a0
jmp 0x100ca35d
movss xmm0, dword [esi + 8]
ucomiss xmm0, xmm1
jne 0x100caa9f
jnp 0x100ca3a0
movss xmm6, dword [eax + 0x18]
movss xmm0, dword [esi]
ucomiss xmm0, xmm6
ja 0x100ca3a0
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100ca3a0
movss xmm5, dword [esi]
ucomiss xmm1, xmm5
movaps xmm3, xmmword [esi + 0x60]
movaps xmm0, xmm3
jbe 0x100caaee
movaps xmm0, xmm1
subss xmm0, dword [esi]
mulss xmm0, dword [esi + 0x410]
divss xmm0, dword [esi + 0x114]
addss xmm0, xmm3
movaps xmm5, xmm1
movss xmm1, dword [esi + 8]
ucomiss xmm1, xmm6
movaps xmm3, xmmword [esi + 0x30]
jbe 0x100cab29
movaps xmm2, xmmword [esi + 0x30]
movaps xmm1, xmm2
subss xmm1, xmm0
movaps xmm3, xmm6
movss xmm7, dword [esi + 8]
subss xmm3, xmm7
mulss xmm3, xmm1
movaps xmm1, xmm7
subss xmm1, xmm5
divss xmm3, xmm1
addss xmm3, xmm2
movaps xmm1, xmm6
movss xmm2, dword [esi + 0x10]
ucomiss xmm2, xmm0
jb 0x100caf02
movss xmm2, dword [esi + 0x10]
ucomiss xmm2, xmm3
jb 0x100caf02
subss xmm1, xmm5
jmp 0x100caa5d
movaps xmm2, xmm5
ucomiss xmm7, xmm0
movss xmm5, dword [esi + 0x80]
jb 0x100cab63
ucomiss xmm6, xmm0
jae 0x100caba0
subss xmm1, xmm2
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
movss xmm0, dword [esi + 0x10]
subss xmm7, xmm0
subss xmm6, xmm0
addss xmm6, xmm7
mulss xmm6, dword [0x10154dd0]
addss xmm6, dword [0x10154df4]
mulss xmm6, xmm1
mov edi, dword [esi + 0x20]
addss xmm6, dword [edi + edx*4]
movss dword [edi + edx*4], xmm6
movss xmm7, dword [esi + 0x40]
ucomiss xmm5, xmm7
jne 0x100cabb0
jnp 0x100cacd0
movaps xmm2, xmm5
movss xmm3, dword [eax + 0x18]
ucomiss xmm5, xmm3
ja 0x100cacd0
movss xmm5, dword [eax + 0x14]
ucomiss xmm5, xmm7
ja 0x100cacd0
ucomiss xmm5, xmm2
jbe 0x100cac03
movss xmm1, dword [esi + 0x10]
movss xmm0, dword [esi + 4]
subss xmm1, xmm0
movaps xmm6, xmm5
subss xmm6, xmm2
mulss xmm6, xmm1
movss xmm7, dword [esi + 0x40]
movaps xmm1, xmm7
subss xmm1, xmm2
divss xmm6, xmm1
addss xmm6, xmm0
jmp 0x100cac10
movss xmm6, dword [esi + 4]
movaps xmm5, xmm2
movss xmm7, dword [esi + 0x40]
ucomiss xmm7, xmm3
movss xmm0, dword [esi + 0x10]
movaps xmm1, xmm7
jbe 0x100cac4b
movss xmm2, dword [esi + 0x10]
movaps xmm1, xmm2
subss xmm1, xmm6
movaps xmm0, xmm3
movss xmm7, dword [esi + 0x40]
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 + 0x10]
ucomiss xmm2, xmm6
jb 0x100cac7e
movss xmm2, dword [esi + 0x10]
ucomiss xmm2, xmm0
jb 0x100cac7e
subss xmm1, xmm5
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
mov edi, dword [esi + 0x20]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
movss xmm7, dword [esi + 0x40]
jmp 0x100cacd0
ucomiss xmm6, dword [esi + 4]
movss xmm7, dword [esi + 0x40]
jb 0x100cac8f
ucomiss xmm0, dword [esi + 4]
jae 0x100cacd0
subss xmm1, xmm5
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
movss xmm2, dword [esi + 0x10]
subss xmm6, xmm2
subss xmm0, xmm2
addss xmm0, xmm6
mulss xmm0, dword [0x10154dd0]
addss xmm0, dword [0x10154df4]
mulss xmm0, xmm1
mov edi, dword [esi + 0x20]
addss xmm0, dword [edi + edx*4]
movss dword [edi + edx*4], xmm0
nop dword [eax]
ucomiss xmm7, dword [esi + 8]
jne 0x100cacdc
jnp 0x100ca3a0
movss xmm3, dword [eax + 0x18]
ucomiss xmm7, xmm3
ja 0x100ca3a0
movss xmm4, dword [eax + 0x14]
ucomiss xmm4, dword [esi + 8]
ja 0x100ca3a0
ucomiss xmm4, xmm7
jbe 0x100cad27
movaps xmm1, xmmword [esi + 0x30]
movss xmm0, dword [esi + 0x10]
subss xmm1, xmm0
movaps xmm6, xmm4
subss xmm6, xmm7
mulss xmm6, xmm1
movss xmm5, dword [esi + 8]
movaps xmm1, xmm5
subss xmm1, xmm7
jmp 0x100cadd4
movss xmm6, dword [esi + 0x10]
movaps xmm4, xmm7
jmp 0x100cade6
ucomiss xmm6, dword [esi + 4]
movss xmm2, dword [esi + 0x40]
jb 0x100cad45
ucomiss xmm3, dword [esi + 4]
jae 0x100cad82
subss xmm1, xmm4
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
movss xmm0, dword [esi + 0x10]
subss xmm6, xmm0
subss xmm3, xmm0
addss xmm3, xmm6
mulss xmm3, dword [0x10154dd0]
addss xmm3, dword [0x10154df4]
mulss xmm3, xmm1
mov edi, dword [esi + 0x20]
addss xmm3, dword [edi + edx*4]
movss dword [edi + edx*4], xmm3
ucomiss xmm2, dword [esi + 8]
jne 0x100cad8e
jnp 0x100ca3a0
movss xmm3, dword [eax + 0x18]
ucomiss xmm2, xmm3
ja 0x100ca3a0
movss xmm4, dword [eax + 0x14]
ucomiss xmm4, dword [esi + 8]
ja 0x100ca3a0
ucomiss xmm4, xmm2
jbe 0x100cadde
movaps xmm1, xmmword [esi + 0x30]
movss xmm0, dword [esi + 0x10]
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 0x100cadeb
movss xmm6, dword [esi + 0x10]
movaps xmm4, xmm2
movss xmm5, dword [esi + 8]
ucomiss xmm5, xmm3
movaps xmm0, xmmword [esi + 0x30]
jbe 0x100cae21
movaps xmm2, xmmword [esi + 0x30]
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 + 0x10]
ucomiss xmm2, xmm6
movss xmm3, dword [esi + 4]
jb 0x100cae57
movss xmm2, dword [esi + 0x10]
ucomiss xmm2, xmm0
jb 0x100cae57
subss xmm5, xmm4
mov edi, dword [esi + 0x28]
mulss xmm5, dword [edi]
mov edi, dword [esi + 0x20]
addss xmm5, dword [edi + edx*4]
movss dword [edi + edx*4], xmm5
jmp 0x100ca3a0
ucomiss xmm6, xmm3
jb 0x100cae66
ucomiss xmm0, dword [esi + 4]
jae 0x100ca3a0
subss xmm5, xmm4
mov edi, dword [esi + 0x28]
mulss xmm5, dword [edi]
movss xmm2, dword [esi + 0x10]
subss xmm6, xmm2
subss xmm0, xmm2
addss xmm0, xmm6
mulss xmm0, dword [0x10154dd0]
addss xmm0, dword [0x10154df4]
mulss xmm0, xmm5
mov edi, dword [esi + 0x20]
addss xmm0, dword [edi + edx*4]
movss dword [edi + edx*4], xmm0
jmp 0x100ca3a0
ucomiss xmm0, dword [esi + 4]
movss xmm7, dword [esi + 0x80]
jb 0x100caec0
ucomiss xmm3, dword [esi + 4]
jae 0x100ca9a0
subss xmm6, xmm4
mov edi, dword [esi + 0x28]
mulss xmm6, dword [edi]
movss xmm1, dword [esi + 0x10]
subss xmm0, xmm1
subss xmm3, xmm1
addss xmm3, xmm0
mulss xmm3, dword [0x10154dd0]
addss xmm3, dword [0x10154df4]
mulss xmm3, xmm6
mov edi, dword [esi + 0x20]
addss xmm3, dword [edi + edx*4]
movss dword [edi + edx*4], xmm3
jmp 0x100ca9a0
ucomiss xmm0, dword [esi + 4]
jb 0x100caf12
ucomiss xmm3, dword [esi + 4]
jae 0x100ca3a0
subss xmm1, xmm5
mov edi, dword [esi + 0x28]
mulss xmm1, dword [edi]
movss xmm2, dword [esi + 0x10]
subss xmm0, xmm2
subss xmm3, xmm2
addss xmm3, xmm0
mulss xmm3, dword [0x10154dd0]
addss xmm3, dword [0x10154df4]
mulss xmm3, xmm1
mov edi, dword [esi + 0x20]
addss xmm3, dword [edi + edx*4]
movss dword [edi + edx*4], xmm3
jmp 0x100ca3a0
movss xmm7, dword [eax + 0xc]
ucomiss xmm6, xmm5
mov edx, dword [esi + 0x20]
jbe 0x100caf94
subss xmm0, xmm3
movss xmm2, dword [esi + 8]
movaps xmm1, xmm2
subss xmm1, xmm0
subss xmm4, xmm3
movaps xmm0, xmm2
subss xmm0, xmm4
xorps xmm7, xmmword [0x101540d0]
mov ebx, edi
movaps xmm4, xmm1
movaps xmm2, xmm6
movaps xmm6, xmm3
movaps xmm1, xmmword [esi + 0x30]
jmp 0x100cafa5
mov ebx, ecx
mov ecx, edi
movaps xmm2, xmm5
movaps xmm5, xmm6
movaps xmm1, xmmword [esi + 0x60]
movaps xmm6, xmm3
movaps xmm3, xmm7
mov dword [esi + 0x30], ecx
lea edi, [ecx + 1]
xorps xmm7, xmm7
cvtsi2ss xmm7, edi
subss xmm7, xmm1
movaps xmmword [esi + 0x10], 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 + 0x40], xmm3
mulss xmm6, xmm3
movss xmm1, dword [0x10154df4]
addss xmm5, xmm1
mulss xmm5, dword [0x10154dd0]
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 0x100c9ff0
movaps xmm5, xmmword [esi + 0x10]
movss xmm1, dword [esi + 0x40]
mulss xmm5, xmm1
movaps xmm3, xmm5
mulss xmm3, dword [0x10154044]
mov edx, dword [esi + 0x30]
not edx
add edx, ebx
mov dword [esi + 0x60], ebx
add ebx, 0xfffffffe
mov dword [esi + 0x80], ebx
test dl, 1
jne 0x100cb04a
mov edx, dword [esi + 0x20]
jmp 0x100cb06a
movaps xmm1, xmm3
addss xmm1, xmm6
mov edx, dword [esi + 0x20]
mov edi, dword [esi + 0x30]
addss xmm1, dword [edx + edi*4 + 4]
movss dword [edx + edi*4 + 4], xmm1
addss xmm6, xmm5
add edi, 2
mov ebx, dword [esi + 0x80]
cmp ebx, dword [esi + 0x30]
mov ebx, dword [esi + 0x60]
je 0x100c9ff0
nop dword [eax]
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 0x100cb080
jmp 0x100c9ff0
movaps xmm0, xmm6
ucomiss xmm5, xmm2
jb 0x100cb1c1
ucomiss xmm5, dword [esi + 0x60]
jb 0x100cb1c1
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
mov ecx, dword [esi + 0xe8]
addss xmm0, dword [ecx - 4]
movss dword [ecx - 4], xmm0
jmp 0x100ca060
lea edx, [ecx + 1]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
ucomiss xmm0, xmm4
jb 0x100cb100
ucomiss xmm2, xmm4
jae 0x100cb136
subss xmm5, xmm3
mulss xmm5, dword [eax + 0x10]
subss xmm0, xmm1
subss xmm2, xmm1
addss xmm2, xmm0
mulss xmm2, dword [0x10154dd0]
addss xmm2, dword [0x10154df4]
mulss xmm2, xmm5
mov edx, dword [esi + 0x20]
addss xmm2, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm2
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [esi]
ucomiss xmm1, xmm0
ja 0x100ca060
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100ca060
movss xmm3, dword [esi]
ucomiss xmm1, xmm3
movaps xmm2, xmmword [esi + 0x60]
jbe 0x100cb189
movaps xmm4, xmmword [esi + 0x60]
movaps xmm3, xmm4
subss xmm3, xmm4
movaps xmm2, xmm1
subss xmm2, dword [esi]
mulss xmm2, xmm3
divss xmm2, dword [esi + 0x114]
addss xmm2, xmm4
movaps xmm3, xmm1
lea edx, [ecx + 1]
movss xmm5, dword [esi + 8]
ucomiss xmm5, xmm0
jbe 0x100cb212
movaps xmm6, xmmword [esi + 0x60]
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 + 0x60], xmm6
jmp 0x100cb215
ucomiss xmm2, dword [0x10154df4]
jb 0x100cb1db
movaps xmm1, xmmword [esi + 0x60]
ucomiss xmm1, dword [0x10154df4]
jae 0x100ca060
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
addss xmm2, dword [esi + 0x60]
mulss xmm2, dword [0x10154dd0]
addss xmm2, dword [0x10154df4]
mulss xmm2, xmm0
mov ecx, dword [esi + 0xe8]
addss xmm2, dword [ecx - 4]
movss dword [ecx - 4], xmm2
jmp 0x100ca060
movaps xmm0, xmm5
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
ucomiss xmm1, xmm2
jb 0x100cb245
ucomiss xmm1, dword [esi + 0x60]
jb 0x100cb245
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
mov edx, dword [esi + 0xe8]
addss xmm0, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm0
jmp 0x100ca060
lea edx, [ecx + 2]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
ucomiss xmm2, xmm4
jb 0x100cb261
movaps xmm5, xmmword [esi + 0x60]
ucomiss xmm5, xmm4
jae 0x100ca060
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
subss xmm2, xmm1
movaps xmm3, xmmword [esi + 0x60]
subss xmm3, xmm1
addss xmm3, xmm2
mulss xmm3, dword [0x10154dd0]
addss xmm3, dword [0x10154df4]
mulss xmm3, xmm0
mov edx, dword [esi + 0xe8]
addss xmm3, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm3
jmp 0x100ca060
cmp dword [esi + 0x5c], 0x7ffffffe
movss xmm2, dword [0x10154044]
movaps xmm3, xmmword [0x10154d90]
movss xmm4, dword [0x101566c0]
mov ecx, dword [esi + 0x144]
mov edi, dword [esi + 0x20]
mov edx, dword [esi + 0x120]
mov ebx, 0xff
ja 0x100cb337
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 + 0xf0]
mov byte [ebx + eax], cl
mov ebx, 0xff
mov ecx, edi
mov edi, edx
mov edx, dword [esi + 0x120]
inc eax
cmp ecx, eax
jne 0x100cb2f0
mov ebx, dword [esi + 0xf0]
cmp dword [esi + 0xfc], 0
mov edi, dword [esi + 0x198]
je 0x100c9ec0
mov ecx, dword [esi + 0xfc]
lea eax, [esi + 0xbc]
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 0x100cb360
jmp 0x100c9ec0
cmp dword [esi + 0x138], 0
setne al
cmp dword [esi + 0x140], 0
sete ah
and ah, al
mov byte [esi + 0x10], ah
lea ebx, [edx + 4]
mov ecx, edx
mov eax, edi
jmp 0x100cb3da
mov ecx, dword [esi + 0xbc]
mov dword [eax], ecx
mov dword [esi + 0xbc], 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 0x100c9fb4
movss xmm1, dword [ecx + 0xc]
ucomiss xmm0, xmm1
jne 0x100cb3e6
jnp 0x100cb400
test eax, eax
je 0x100cb410
mov edi, dword [eax]
jmp 0x100cb494
mov edi, eax
jmp 0x100cb3c0
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x148]
test edx, edx
je 0x100cb426
dec edx
mov ecx, dword [esi + 0xd4]
jmp 0x100cb476
mov dword [esi + 0x30], ebx
mov dword [esi + 0x438], 7
push 0xdac4
call fcn.100a64d0
add esp, 4
test eax, eax
movss xmm2, dword [esi + 0x13c]
mov ecx, dword [esi + 0xd4]
movss xmm5, dword [esi + 8]
mov ebx, dword [esi + 0x30]
je 0x100cb531
mov dword [eax], ecx
mov ecx, dword [esi + 0x40]
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 + 0x148], edx
add eax, edx
mov dword [esi + 0xd4], ecx
add eax, ecx
add eax, 4
xor edi, edi
mov ecx, dword [esi + 0x40]
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 0x100cb4b4
jnp 0x100cb4c0
movss xmm1, dword [0x10154df4]
divss xmm1, xmm0
movss dword [eax + 0xc], xmm1
movss xmm4, dword [esi]
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 + 0x1015c598]
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 + 0x10]
cmp cl, 1
jne 0x100cb3b0
movss dword [eax + 0x18], xmm4
jmp 0x100cb3b0
mov dword [esi + 0xd4], ecx
xor edi, edi
mov dword [esi + 0x148], 0
xorps xmm3, xmm3
mov ecx, dword [esi + 0x40]
jmp 0x100cb3c0
mov eax, dword [esi + 0xd4]
test eax, eax
je 0x100cb58b
mov dword [esi + 0x438], 7
nop word cs:[eax + eax]
mov ecx, dword [eax]
mov dword [esi + 0xd4], ecx
push eax
call fcn.100a6500
add esp, 4
mov eax, dword [esi + 0xd4]
test eax, eax
jne 0x100cb570
mov dword [esi + 0x438], 7
lea eax, [esi + 0x1e8]
cmp dword [esi + 0x20], eax
je 0x100cb5ab
push dword [esi + 0x20]
call fcn.100a6500
add esp, 4
push dword [esi + 0x58]
call fcn.100a6500
add esp, 4
push dword [esi + 0xb8]
call fcn.100a6500
mov eax, dword [esi + 0x2c]
add esp, 4
push eax
call fcn.100a6500
add esp, 4
jmp 0x100c91cd
mov edx, dword [esi + 0x118]
mov eax, dword [esi + 0x24]
add eax, edx
add eax, 0x94
mov dword [esi + 8], eax
imul eax, ecx, 0x7c
mov edi, dword [esi + 0x17c]
movss xmm1, dword [edi + eax + 0x48]
movaps xmmword [esi + 0x30], xmm1
ucomiss xmm1, dword [0x10154df4]
xorps xmm1, xmm1
jne 0x100cb618
jnp 0x100c87b0
mov eax, dword [esi + 0x24]
add eax, edx
add eax, 0xa8
mov dword [esi + 0x60], eax
movaps xmm1, xmmword [esi + 0x30]
shufps xmm1, xmm1, 0
movaps xmmword [esi + 0x30], xmm1
xor edx, edx
movaps xmm2, xmmword [0x10162be0]
movaps xmm3, xmmword [0x10162bd0]
movaps xmm1, xmmword [str._b_t_n_v]
movaps xmmword [esi + 0x90], xmm1
movaps xmm7, xmmword [0x10162bb0]
movdqa xmm5, xmmword [0x10162c10]
nop
movaps xmmword [esi + 0x40], xmm7
movaps xmmword [esi + 0x10], xmm3
movaps xmmword [esi + 0xc0], xmm2
movaps xmm3, xmmword [esi + 0x10]
movaps xmm4, xmmword [0x10162bf0]
andps xmm3, xmm4
movaps xmm0, xmmword [0x10162c00]
orps xmm3, xmm0
movdqa xmm1, xmmword [esi + 0x10]
psrld xmm1, 0x10
por xmm1, xmm5
subps xmm1, xmm6
addps xmm1, xmm3
movaps xmm3, xmm2
andps xmm3, xmm4
orps xmm3, xmm0
movaps xmm6, xmm2
psrld xmm6, 0x10
por xmm6, xmm5
subps xmm6, xmmword [0x10162c20]
addps xmm6, xmm3
movaps xmm3, xmm7
andps xmm3, xmm4
orps xmm3, xmm0
movdqa xmm7, xmmword [esi + 0x40]
psrld xmm7, 0x10
por xmm7, xmm5
subps xmm7, xmmword [0x10162c20]
addps xmm7, xmm3
movaps xmm3, xmmword [esi + 0x90]
movaps xmm5, xmm3
andps xmm5, xmm4
orps xmm5, xmm0
psrld xmm3, 0x10
por xmm3, xmmword [0x10162c10]
subps xmm3, xmmword [0x10162c20]
addps xmm3, xmm5
movaps xmm4, xmmword [esi + 0x30]
mulps xmm3, xmm4
mulps xmm7, xmm4
mulps xmm6, xmm4
mulps xmm1, xmm4
cvttps2dq xmm0, xmm1
movdqa xmm2, xmm0
psrad xmm2, 0x1f
movaps xmm5, xmmword [0x10162c30]
subps xmm1, xmm5
cvttps2dq xmm5, xmm1
pand xmm5, xmm2
por xmm5, xmm0
cvttps2dq xmm0, xmm6
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm6, xmmword [0x10162c30]
cvttps2dq xmm1, xmm6
pand xmm1, xmm2
por xmm1, xmm0
cvttps2dq xmm0, xmm7
movdqa xmm2, xmm0
psrad xmm2, 0x1f
movaps xmm6, xmmword [0x10162c30]
subps xmm7, xmm6
cvttps2dq xmm6, xmm7
pand xmm6, xmm2
por xmm6, xmm0
cvttps2dq xmm0, xmm3
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm3, xmmword [0x10162c30]
cvttps2dq xmm7, xmm3
pand xmm7, xmm2
por xmm7, xmm0
movdqa xmm0, xmm7
movdqa xmm2, xmmword [0x101540d0]
pxor xmm0, xmm2
movdqa xmm3, xmmword [0x10162c40]
pcmpgtd xmm3, xmm0
pand xmm7, xmm3
pandn xmm3, xmmword [0x10156c00]
por xmm3, xmm7
movdqa xmm0, xmm6
pxor xmm0, xmm2
movdqa xmm7, xmm2
movdqa xmm2, xmmword [0x10162c40]
pcmpgtd xmm2, xmm0
pand xmm6, xmm2
pandn xmm2, xmmword [0x10156c00]
por xmm2, xmm6
packuswb xmm3, xmm2
movdqa xmm0, xmm1
movdqa xmm2, xmm7
pxor xmm0, xmm7
movdqa xmm6, xmmword [0x10162c40]
pcmpgtd xmm6, xmm0
pand xmm1, xmm6
pandn xmm6, xmmword [0x10156c00]
por xmm6, xmm1
movdqa xmm0, xmm5
pxor xmm0, xmm7
movdqa xmm1, xmmword [0x10162c40]
pcmpgtd xmm1, xmm0
pand xmm5, xmm1
pandn xmm1, xmmword [0x10156c00]
por xmm1, xmm5
packuswb xmm6, xmm1
packuswb xmm6, xmm3
movdqu xmmword [esi + edx + 0x1e8], xmm6
movdqa xmm5, xmmword [esi + 0x90]
movdqa xmm0, xmmword [0x10162c50]
paddd xmm5, xmm0
movdqa xmm6, xmmword [esi + 0x40]
paddd xmm6, xmm0
movdqa xmm1, xmmword [esi + 0xc0]
paddd xmm1, xmm0
movdqa xmm7, xmmword [esi + 0x10]
paddd xmm7, xmm0
movdqa xmm0, xmm7
movdqa xmm3, xmmword [0x10162bf0]
pand xmm0, xmm3
movdqa xmm2, xmmword [0x10162c00]
por xmm0, xmm2
psrld xmm7, 0x10
por xmm7, xmmword [0x10162c10]
subps xmm7, xmmword [0x10162c20]
addps xmm7, xmm0
movdqa xmm0, xmm1
pand xmm0, xmm3
por xmm0, xmm2
psrld xmm1, 0x10
por xmm1, xmmword [0x10162c10]
subps xmm1, xmmword [0x10162c20]
addps xmm1, xmm0
movdqa xmm0, xmm6
pand xmm0, xmm3
por xmm0, xmm2
psrld xmm6, 0x10
por xmm6, xmmword [0x10162c10]
subps xmm6, xmmword [0x10162c20]
addps xmm6, xmm0
movdqa xmm0, xmm5
pand xmm0, xmm3
por xmm0, xmm2
psrld xmm5, 0x10
por xmm5, xmmword [0x10162c10]
subps xmm5, xmmword [0x10162c20]
addps xmm5, xmm0
mulps xmm5, xmm4
mulps xmm6, xmm4
mulps xmm1, xmm4
mulps xmm7, xmm4
cvttps2dq xmm0, xmm7
movdqa xmm2, xmm0
psrad xmm2, 0x1f
movaps xmm3, xmmword [0x10162c30]
subps xmm7, xmm3
cvttps2dq xmm7, xmm7
pand xmm7, xmm2
por xmm7, xmm0
cvttps2dq xmm0, xmm1
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm1, xmm3
cvttps2dq xmm1, xmm1
pand xmm1, xmm2
por xmm1, xmm0
cvttps2dq xmm0, xmm6
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm6, xmm3
cvttps2dq xmm6, xmm6
pand xmm6, xmm2
por xmm6, xmm0
cvttps2dq xmm0, xmm5
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm5, xmm3
cvttps2dq xmm5, xmm5
pand xmm5, xmm2
por xmm5, xmm0
movdqa xmm0, xmm5
movdqa xmm4, xmmword [0x101540d0]
pxor xmm0, xmm4
movdqa xmm3, xmmword [0x10162c40]
pcmpgtd xmm3, xmm0
pand xmm5, xmm3
pandn xmm3, xmmword [0x10156c00]
por xmm3, xmm5
movdqa xmm0, xmm6
pxor xmm0, xmm4
movdqa xmm2, xmmword [0x10162c40]
pcmpgtd xmm2, xmm0
pand xmm6, xmm2
pandn xmm2, xmmword [0x10156c00]
por xmm2, xmm6
movaps xmm6, xmmword [0x10162c20]
packuswb xmm3, xmm2
movdqa xmm2, xmmword [0x10162c40]
movdqa xmm0, xmm1
pxor xmm0, xmm4
movdqa xmm5, xmm2
pcmpgtd xmm5, xmm0
pand xmm1, xmm5
pandn xmm5, xmmword [0x10156c00]
por xmm5, xmm1
movdqa xmm0, xmm7
pxor xmm0, xmm4
movdqa xmm1, xmm2
movdqa xmm2, xmmword [esi + 0xc0]
pcmpgtd xmm1, xmm0
pand xmm7, xmm1
pandn xmm1, xmmword [0x10156c00]
por xmm1, xmm7
movdqa xmm7, xmmword [esi + 0x40]
packuswb xmm5, xmm1
packuswb xmm5, xmm3
movdqa xmm3, xmmword [esi + 0x10]
movdqu xmmword [esi + edx + 0x1f8], xmm5
movdqa xmm5, xmmword [0x10162c10]
add edx, 0x20
movdqa xmm0, xmmword [0x10162c60]
paddd xmm2, xmm0
paddd xmm3, xmm0
movdqa xmm4, xmmword [esi + 0x90]
paddd xmm4, xmm0
movdqa xmmword [esi + 0x90], xmm4
paddd xmm7, xmm0
cmp edx, 0x100
jne 0x100cb660
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
test eax, eax
pxor xmm1, xmm1
movaps xmm0, xmmword [0x101540d0]
jle 0x100c87b0
mov edx, dword [esi + 8]
mov edx, dword [edx]
xor edi, edi
jmp 0x100cbaef
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x11c]
mov edx, dword [esi + 0x80]
mov edi, dword [esi]
inc edi
add edx, 0x10
cmp edi, eax
jge 0x100c87b0
cmp dword [edx + 0xc], 0
je 0x100cbae3
movzx ebx, word [edx + 6]
mov dword [esi + 0x10], ebx
test ebx, ebx
je 0x100cbae3
mov dword [esi], edi
mov eax, dword [esi + 0x194]
mov ebx, dword [eax]
movzx eax, word [edx + 4]
mov word [esi + 0x90], ax
movzx eax, word [edx + 8]
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x18]
mov dword [esi + 0x80], edx
movzx edi, word [edx + 0xa]
mov dword [esi + 0x40], ebx
imul edi, ebx
add edi, eax
movzx eax, word [esi + 0x90]
mov edx, eax
and edx, 3
lea ecx, [eax - 1]
mov dword [esi + 0x30], ecx
and eax, 0xfffffffc
mov dword [esi + 0xc0], eax
jmp 0x100cbb65
mov ecx, dword [esi + 0x10]
lea eax, [ecx - 1]
add edi, dword [esi + 0x40]
cmp ecx, 1
mov dword [esi + 0x10], eax
jle 0x100cbad0
cmp word [esi + 0x90], 0
je 0x100cbb50
xor ecx, ecx
cmp dword [esi + 0x30], 3
mov ebx, dword [esi + 0xc0]
jb 0x100cbbc9
xor ecx, ecx
nop
movzx eax, byte [edi + ecx]
movzx eax, byte [esi + eax + 0x1e8]
mov byte [edi + ecx], al
movzx eax, byte [edi + ecx + 1]
movzx eax, byte [esi + eax + 0x1e8]
mov byte [edi + ecx + 1], al
movzx eax, byte [edi + ecx + 2]
movzx eax, byte [esi + eax + 0x1e8]
mov byte [edi + ecx + 2], al
movzx eax, byte [edi + ecx + 3]
movzx eax, byte [esi + eax + 0x1e8]
mov byte [edi + ecx + 3], al
add ecx, 4
cmp ebx, ecx
jne 0x100cbb80
test edx, edx
je 0x100cbb50
add ecx, edi
xor ebx, ebx
nop word cs:[eax + eax]
movzx eax, byte [ecx + ebx]
movzx eax, byte [esi + eax + 0x1e8]
mov byte [ecx + ebx], al
inc ebx
cmp edx, ebx
jne 0x100cbbe0
jmp 0x100cbb50
mov dword [esi + 0x438], 7
push dword [esi + 0xdc]
call fcn.100a6500
add esp, 4
push dword [esi + 0xd0]
call fcn.100a6500
add esp, 4
mov eax, dword [esi + 0x130]
test eax, eax
je 0x100cbc46
xorps xmm0, xmm0
movlps qword [esi + 0x128], xmm0
push eax
call fcn.100a6500
add esp, 4
mov dword [esi + 0x130], 0
xor ecx, ecx
mov eax, dword [esi + 0x24]
jmp 0x100cbc57
mov ecx, dword [esi + 0xa4]
inc ecx
cmp ecx, dword [esi + 0xb0]
jge 0x100cbf0f
mov dword [esi + 0xa4], ecx
imul edx, ecx, 0xc4
cmp dword [eax + edx + 0xa8], 0
je 0x100cbc50
mov ecx, dword [eax + edx + 4]
mov dword [esi + 0x90], 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
movzx edi, byte [ecx + edx + 6]
movzx edx, byte [ecx + edx + 7]
shl edi, 8
movsx ecx, di
or ecx, edx
imul ebx, dword [esi + 0xa4], 0x7c
movss xmm0, dword [0x10154cc8]
test ax, ax
jle 0x100cbcc5
movss xmm0, dword [0x10154df4]
mov edx, eax
sub edx, ecx
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0x58]
mov dword [esi + 0x10], edi
add edi, ebx
mov dword [esi + 0x40], edi
movss xmm1, dword [0x10154cc8]
test cx, cx
jle 0x100cbcec
movss xmm1, dword [0x10154df4]
cvtsi2ss xmm2, edx
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
mov eax, dword [esi + 0x10]
movss xmm4, dword [eax + ebx + 0x10]
divss xmm4, xmm2
mulss xmm3, xmm4
addss xmm3, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
mov ecx, dword [eax + ebx + 0x78]
cvttps2dq xmm2, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm4
addss xmm0, xmm1
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mov dword [esi + 0x438], 7
sub esp, 0x14
mov eax, dword [esi + 0x40]
mov dword [esp + 8], eax
mov dword [esi + 0xc0], ecx
mov dword [esp + 4], ecx
mov eax, dword [ebp + 8]
mov dword [esp], eax
movss dword [esp + 0x10], xmm0
movss dword [esp + 0xc], xmm2
mov dword [esi + 0xc], ebx
call fcn.100cd5a0
add esp, 0x14
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
movss xmm0, dword [ecx + edx + 0x28]
movss dword [esi + 0x30], xmm0
mov eax, dword [esi + 0xc0]
movss xmm0, dword [eax + 0x4c]
addss xmm0, dword [0x10154044]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ecx + edx + 0x2c]
movaps xmmword [esi + 0x80], xmm0
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x90]
lea edi, [eax + ecx]
add edi, 0xa8
xor ebx, ebx
mov dword [esi], edi
cmp ebx, dword [edi]
jge 0x100cbc50
nop
mov eax, dword [edi - 0x10]
lea ecx, [ebx + ebx*8]
lea ecx, [ecx + ecx*2]
add ecx, ebx
movzx edx, word [eax + ecx]
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
movzx edx, word [eax + ecx + 2]
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
movss dword [esi + 0x10], xmm0
movzx edx, word [eax + ecx + 4]
xorps xmm2, xmm2
cvtsi2ss xmm2, edx
movzx edx, word [eax + ecx + 6]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
mov edx, dword [edi + 0x18]
mov dword [esi + 0xc], ebx
movzx edx, word [edx + ebx*4]
mov edi, dword [ebp + 8]
xorps xmm5, xmm5
cvtsi2ss xmm5, dword [edi + 0x24]
movss xmm3, dword [eax + ecx + 8]
xorps xmm0, xmm0
addss xmm3, xmm0
movss xmm7, dword [0x10154df4]
movaps xmm6, xmm7
divss xmm6, xmm5
xorps xmm5, xmm5
cvtsi2ss xmm5, dword [edi + 0x20]
divss xmm7, xmm5
movss xmm5, dword [eax + ecx + 0xc]
addss xmm5, xmm0
mulss xmm1, xmm7
movss dword [esi + 0x90], xmm1
mulss xmm2, xmm7
movss xmm7, dword [eax + ecx + 0x14]
addss xmm7, xmm0
movss xmm1, dword [esi + 0x10]
mulss xmm1, xmm6
movss dword [esi + 0x10], xmm1
mulss xmm4, xmm6
movss xmm6, dword [eax + ecx + 0x18]
addss xmm6, xmm0
movaps xmm1, xmmword [esi + 0x80]
addss xmm6, xmm1
movss xmm0, dword [esi + 0x30]
addss xmm7, xmm0
addss xmm5, xmm1
addss xmm3, xmm0
movss xmm0, dword [eax + ecx + 0x10]
sub esp, 0x2c
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x24], xmm4
movss dword [esp + 0x20], xmm2
movss xmm0, dword [esi + 0x10]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esi + 0x90]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x14], xmm6
movss dword [esp + 0x10], xmm7
movss dword [esp + 0xc], xmm5
movss dword [esp + 8], xmm3
mov dword [esp + 4], edx
mov eax, dword [esi + 0x40]
mov dword [esp], eax
mov ecx, dword [esi + 0xc0]
call fcn.100cd680
mov ebx, dword [esi + 0xc]
inc ebx
mov eax, dword [esi + 0x24]
mov edi, dword [esi]
cmp ebx, dword [edi]
jl 0x100cbdc0
jmp 0x100cbc50
cmp dword [esi + 0xb0], 0
jle 0x100cbf6c
lea ecx, [eax + 0xc0]
jmp 0x100cbf2e
add ecx, 0xc4
dec dword [esi + 0xb0]
je 0x100cbf6c
mov eax, dword [ecx]
test eax, eax
mov dword [esi + 0x10], ecx
je 0x100cbf4d
mov dword [esi + 0x438], 0
push eax
call fcn.100a6500
mov ecx, dword [esi + 0x10]
add esp, 4
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x100cbf20
mov dword [esi + 0x438], 1
push eax
call fcn.100a6500
mov ecx, dword [esi + 0x10]
add esp, 4
jmp 0x100cbf20
mov dword [esi + 0x438], 7
push dword [ebp + 8]
call fcn.100cd8c0
add esp, 4
mov eax, dword [esi + 0x158]
test eax, eax
je 0x100cbf9e
mov dword [esi + 0x438], 2
push eax
call fcn.100a6500
add esp, 4
mov eax, dword [esi + 0x130]
test eax, eax
je 0x100cbfbb
mov dword [esi + 0x438], 3
push eax
call fcn.100a6500
add esp, 4
mov al, 1
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x100cbfdd
mov dword [esi + 0x438], 5
push ecx
mov dword [esi + 0x10], eax
call fcn.100a6500
mov eax, dword [esi + 0x10]
add esp, 4
mov ecx, dword [esi + 0x430]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret