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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x460
mov esi, esp
mov dword [esi + 0x448], ebp
mov edi, dword [ebp + 8]
mov dword [esi + 0x44c], esp
mov dword [esi + 0x458], 0xffffffff
lea eax, [esi + 0x450]
mov dword [esi + 0x454], 0x100c6df0
mov ecx, dword fs:[0]
mov dword [esi + 0x450], ecx
mov dword fs:[0], eax
push edi
call fcn.100c1070
add esp, 4
mov dword [edi + 8], 0
xorps xmm0, xmm0
movups xmmword [edi + 0x1c], xmm0
mov dword [edi + 0x30], 0
mov dword [edi + 0x2c], 0
mov eax, dword [edi + 0x14]
test eax, eax
je 0x100bb4c2
push eax
call fcn.1009ca30
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x100bb4d5
push eax
call fcn.1009ca30
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x90], 0
mov edi, 0
mov dword [esi + 0xc4], eax
test eax, eax
jle 0x100bb542
mov ecx, dword [esi + 0xc4]
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
imul eax, eax, 0xc4
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], 0
mov dword [esi + 0x458], 6
push eax
call fcn.1009ca00
add esp, 4
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
mov dword [esi + 0x38], edi
mov eax, ecx
mov dword [esi + 0xcc], ecx
jle 0x100bb59a
mov ecx, dword [esi + 0xcc]
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
shl eax, 3
lea eax, [eax + eax*2]
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.1009ca00
mov edi, dword [esi + 0x38]
add esp, 4
mov dword [esi + 0x90], eax
imul eax, dword [esi + 0xc4], 0xc4
push eax
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0xcc]
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
push 0
push dword [esi + 0x90]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x4c], 0
jle 0x100bc846
xorps xmm0, xmm0
xor ecx, ecx
mov dword [esi + 0xc], ecx
imul ecx, ecx, 0xc4
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x54]
mov dword [esi + 0x60], edx
mov dword [esi + 0x70], ecx
mov dword [edi + ecx + 0xa0], 0xffffffff
mov eax, dword [eax + 0x34]
test eax, eax
jle 0x100bc822
mov edi, dword [esi + 0x70]
mov ecx, dword [esi + 0x38]
add ecx, edi
mov dword [esi + 0x20], ecx
imul ecx, dword [esi + 0xc], 0x78
mov ebx, dword [esi + 0x60]
lea edx, [ebx + ecx]
mov dword [esi + 0xb0], edx
mov edx, dword [esi + 0x38]
lea edx, [edx + edi + 0xa0]
mov dword [esi + 0x10], edx
mov dword [esi + 0x5c], ecx
mov edx, dword [ebx + ecx + 0x74]
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x3c]
xor edi, edi
nop word cs:[eax + eax]
cmp edx, dword [ebx + edi*4]
je 0x100bb660
inc edi
cmp edi, eax
jl 0x100bb650
jmp 0x100bc822
mov eax, dword [esi + 0x10]
mov dword [eax], edi
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x5c]
mov eax, dword [eax + edx + 0xc]
mov ecx, dword [esi + 0xb0]
mov ebx, dword [ecx]
movzx ecx, byte [ebx]
cmp ecx, 0x4e
jg 0x100bb6a0
test ecx, ecx
je 0x100bb6df
cmp ecx, 0x31
jne 0x100bb764
cmp byte [ebx + 1], 0
mov ecx, 0xffffffff
jne 0x100bb769
jmp 0x100bb6ea
cmp ecx, 0x4f
je 0x100bb6f8
cmp ecx, 0x74
jne 0x100bb764
movzx ecx, byte [ebx + 1]
cmp ecx, 0x72
je 0x100bb711
cmp ecx, 0x74
je 0x100bb72d
cmp ecx, 0x79
jne 0x100bb764
cmp byte [ebx + 2], 0x70
mov ecx, 0xffffffff
jne 0x100bb769
cmp byte [ebx + 3], 0x31
je 0x100bb722
jmp 0x100bb769
cmp byte [ebx + 1], 1
mov ecx, 0xffffffff
jne 0x100bb769
cmp byte [ebx + 2], 0
jne 0x100bb769
cmp byte [ebx + 3], 0
jne 0x100bb769
jmp 0x100bb722
cmp byte [ebx + 1], 0x54
mov ecx, 0xffffffff
jne 0x100bb769
cmp byte [ebx + 2], 0x54
jne 0x100bb769
cmp byte [ebx + 3], 0x4f
je 0x100bb722
jmp 0x100bb769
cmp byte [ebx + 2], 0x75
mov ecx, 0xffffffff
jne 0x100bb769
cmp byte [ebx + 3], 0x65
jne 0x100bb769
neg eax
mov ecx, 0
sbb ecx, ecx
jmp 0x100bb769
cmp byte [ebx + 2], 0x63
jne 0x100bb764
cmp byte [ebx + 3], 0x66
jne 0x100bb764
mov ecx, dword [ebx + 4]
bswap ecx
cmp ecx, 0x20000
je 0x100bb74e
cmp ecx, 0x10000
jne 0x100bb764
mov ecx, dword [ebx + 8]
bswap ecx
cmp ecx, eax
mov ecx, 0xffffffff
jle 0x100bb769
mov ecx, dword [ebx + eax*4 + 0xc]
bswap ecx
jmp 0x100bb769
mov ecx, 0xffffffff
mov eax, dword [esi + 0x20]
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
movzx edx, byte [ebx + ecx + 4]
mov eax, edx
shl eax, 8
movzx edi, byte [ebx + ecx + 5]
mov dword [esi + 0x40], 0
or eax, edi
mov dword [esi + 0xb0], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], ecx
je 0x100bb85a
add ecx, ebx
add ecx, 0x17
shl edi, 4
shl edx, 0xc
or edx, edi
xor edi, edi
jmp 0x100bb7d7
add edi, 0x10
cmp edx, edi
je 0x100bb810
cmp byte [ecx + edi - 0xb], 0x63
jne 0x100bb7d0
cmp byte [ecx + edi - 0xa], 0x6d
jne 0x100bb7d0
cmp byte [ecx + edi - 9], 0x61
jne 0x100bb7d0
cmp byte [ecx + edi - 8], 0x70
jne 0x100bb7d0
mov edx, dword [esi + 0x14]
add edx, ebx
mov edx, dword [edi + edx + 0x14]
bswap edx
mov dword [esi + 0xb0], edx
jmp 0x100bb826
mov dword [esi + 0xb0], 0
jmp 0x100bb826
add ecx, 0x10
dec eax
je 0x100bb850
cmp byte [ecx - 0xb], 0x6c
jne 0x100bb820
cmp byte [ecx - 0xa], 0x6f
jne 0x100bb820
cmp byte [ecx - 9], 0x63
jne 0x100bb820
cmp byte [ecx - 8], 0x61
jne 0x100bb820
mov eax, dword [ecx - 3]
bswap eax
mov dword [esi + 0x18], eax
jmp 0x100bb857
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
mov dword [eax + 0x10], edx
movzx eax, byte [ebx + ecx + 4]
mov ecx, eax
shl ecx, 8
mov edx, dword [esi + 0x14]
movzx edx, byte [ebx + edx + 5]
or ecx, edx
mov ecx, dword [esi + 0x14]
je 0x100bb8da
add ecx, ebx
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edx, edx
jmp 0x100bb897
add edx, 0x10
cmp eax, edx
je 0x100bb8d0
cmp byte [ecx + edx - 0xb], 0x68
jne 0x100bb890
cmp byte [ecx + edx - 0xa], 0x65
jne 0x100bb890
cmp byte [ecx + edx - 9], 0x61
jne 0x100bb890
cmp byte [ecx + edx - 8], 0x64
jne 0x100bb890
mov ecx, dword [esi + 0x14]
lea eax, [ebx + ecx]
mov eax, dword [edx + eax + 0x14]
bswap eax
mov dword [esi + 0x40], eax
jmp 0x100bb8da
mov dword [esi + 0x40], 0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x40]
mov dword [eax + 0x14], edx
movzx eax, byte [ebx + ecx + 4]
mov edx, eax
shl edx, 8
movzx edi, byte [ebx + ecx + 5]
mov dword [esi + 8], 0
or edx, edi
mov edx, 0
je 0x100bb952
lea edx, [ebx + ecx]
add edx, 0x17
shl edi, 4
shl eax, 0xc
or eax, edi
xor edi, edi
jmp 0x100bb927
add edi, 0x10
cmp eax, edi
je 0x100bb950
cmp byte [edx + edi - 0xb], 0x67
jne 0x100bb920
cmp byte [edx + edi - 0xa], 0x6c
jne 0x100bb920
cmp byte [edx + edi - 9], 0x79
jne 0x100bb920
cmp byte [edx + edi - 8], 0x66
jne 0x100bb920
lea eax, [ebx + ecx]
mov edx, dword [edi + eax + 0x14]
bswap edx
jmp 0x100bb952
xor edx, edx
mov eax, dword [esi + 0x20]
mov dword [esi + 0xe4], edx
mov dword [eax + 0x18], edx
movzx eax, byte [ebx + ecx + 4]
mov edi, eax
shl edi, 8
movzx edx, byte [ebx + ecx + 5]
or edi, edx
je 0x100bb9da
add ecx, ebx
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edi, edi
jmp 0x100bb997
add edi, 0x10
cmp eax, edi
je 0x100bb9d0
cmp byte [ecx + edi - 0xb], 0x68
jne 0x100bb990
cmp byte [ecx + edi - 0xa], 0x68
jne 0x100bb990
cmp byte [ecx + edi - 9], 0x65
jne 0x100bb990
cmp byte [ecx + edi - 8], 0x61
jne 0x100bb990
mov ecx, dword [esi + 0x14]
lea eax, [ebx + ecx]
mov eax, dword [edi + eax + 0x14]
bswap eax
mov dword [esi + 8], eax
jmp 0x100bb9da
mov dword [esi + 8], 0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 8]
mov dword [eax + 0x1c], edx
mov edi, ebx
movzx ebx, byte [ebx + ecx + 4]
mov eax, ebx
shl eax, 8
movzx edx, byte [edi + ecx + 5]
or eax, edx
mov eax, 0
mov dword [esi + 0xd0], edi
je 0x100bba62
mov eax, dword [esi + 0xd0]
add eax, ecx
add eax, 0x17
shl edx, 4
shl ebx, 0xc
or ebx, edx
xor edx, edx
jmp 0x100bba27
add edx, 0x10
cmp ebx, edx
je 0x100bba60
cmp byte [eax + edx - 0xb], 0x68
jne 0x100bba20
cmp byte [eax + edx - 0xa], 0x6d
jne 0x100bba20
cmp byte [eax + edx - 9], 0x74
jne 0x100bba20
cmp byte [eax + edx - 8], 0x78
jne 0x100bba20
mov eax, dword [esi + 0xd0]
add eax, ecx
mov eax, dword [edx + eax + 0x14]
bswap eax
jmp 0x100bba62
xor eax, eax
mov edx, eax
mov eax, ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x3c], edx
mov dword [ecx + 0x20], edx
mov edx, dword [esi + 0xd0]
movzx ebx, byte [edx + eax + 4]
mov ecx, ebx
shl ecx, 8
movzx edx, byte [edx + eax + 5]
or ecx, edx
mov edi, 0
je 0x100bbaf2
mov ecx, dword [esi + 0xd0]
lea edi, [ecx + eax]
add edi, 0x17
shl edx, 4
shl ebx, 0xc
or ebx, edx
xor edx, edx
jmp 0x100bbab7
add edx, 0x10
cmp ebx, edx
je 0x100bbaf0
cmp byte [edi + edx - 0xb], 0x6b
jne 0x100bbab0
cmp byte [edi + edx - 0xa], 0x65
jne 0x100bbab0
cmp byte [edi + edx - 9], 0x72
jne 0x100bbab0
cmp byte [edi + edx - 8], 0x6e
jne 0x100bbab0
mov ecx, dword [esi + 0xd0]
add ecx, eax
mov edi, dword [edx + ecx + 0x14]
bswap edi
jmp 0x100bbaf2
xor edi, edi
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0x24], edi
mov ebx, dword [esi + 0xd0]
movzx edi, byte [ebx + eax + 4]
mov ecx, edi
shl ecx, 8
movzx edx, byte [ebx + eax + 5]
or ecx, edx
je 0x100bbb7a
add ebx, eax
add ebx, 0x17
shl edx, 4
shl edi, 0xc
or edi, edx
xor edx, edx
jmp 0x100bbb37
add edx, 0x10
cmp edi, edx
je 0x100bbb70
cmp byte [ebx + edx - 0xb], 0x47
jne 0x100bbb30
cmp byte [ebx + edx - 0xa], 0x50
jne 0x100bbb30
cmp byte [ebx + edx - 9], 0x4f
jne 0x100bbb30
cmp byte [ebx + edx - 8], 0x53
jne 0x100bbb30
mov ebx, dword [esi + 0xd0]
lea ecx, [ebx + eax]
mov edx, dword [edx + ecx + 0x14]
bswap edx
jmp 0x100bbb7c
xor edx, edx
mov ebx, dword [esi + 0xd0]
jmp 0x100bbb7c
xor edx, edx
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0x28], edx
cmp dword [esi + 0xb0], 0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
je 0x100bc822
cmp dword [esi + 0x40], 0
je 0x100bc822
cmp dword [esi + 8], 0
je 0x100bc822
cmp dword [esi + 0x3c], 0
je 0x100bc822
cmp dword [esi + 0xe4], 0
je 0x100bbd89
test eax, eax
je 0x100bc822
mov edx, ecx
movzx ecx, byte [ebx + ecx + 4]
mov eax, ecx
shl eax, 8
movzx edi, byte [ebx + edx + 5]
or eax, edi
mov eax, 0xffff
je 0x100bbc40
add edx, ebx
add edx, 0x17
shl edi, 4
shl ecx, 0xc
or ecx, edi
xor edi, edi
jmp 0x100bbc07
add edi, 0x10
cmp ecx, edi
je 0x100bbc40
cmp byte [edx + edi - 0xb], 0x6d
jne 0x100bbc00
cmp byte [edx + edi - 0xa], 0x61
jne 0x100bbc00
cmp byte [edx + edi - 9], 0x78
jne 0x100bbc00
cmp byte [edx + edi - 8], 0x70
jne 0x100bbc00
mov ecx, dword [esi + 0x14]
add ecx, ebx
mov ecx, dword [edi + ecx + 0x14]
bswap ecx
test ecx, ecx
je 0x100bbc40
movzx eax, word [ebx + ecx + 4]
rol ax, 8
movzx eax, ax
nop
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0xb0]
movzx eax, word [ebx + eax + 2]
rol ax, 8
mov dword [ecx + 0x2c], 0
test ax, ax
je 0x100bc822
movzx eax, ax
mov ecx, dword [esi + 0xb0]
add ecx, ebx
add ecx, 0xb
xor edx, edx
xor edi, edi
jmp 0x100bbc97
mov edx, dword [ecx + edi*8 - 3]
bswap edx
add edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x20]
mov dword [ebx + 0x2c], edx
inc edi
cmp eax, edi
je 0x100bbcd0
movzx ebx, word [ecx + edi*8 - 7]
rol bx, 8
test bx, bx
je 0x100bbc80
movzx ebx, bx
cmp ebx, 3
jne 0x100bbc92
movzx ebx, word [ecx + edi*8 - 5]
rol bx, 8
cmp bx, 0xa
je 0x100bbc80
movzx ebx, bx
cmp ebx, 1
je 0x100bbc80
jmp 0x100bbc92
test edx, edx
mov edx, dword [esi + 0xd0]
je 0x100bc822
mov ecx, dword [esi + 0x20]
mov eax, dword [ecx + 0x14]
movzx eax, word [edx + eax + 0x32]
rol ax, 8
movzx eax, ax
mov dword [ecx + 0x30], eax
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x5c]
mov eax, dword [eax + ecx + 0x30]
test eax, eax
mov ecx, 0x1014c2e0
cmove eax, ecx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x38]
mov edi, dword [esi + 0x70]
mov dword [edx + edi + 0x9c], eax
cmp word [eax], 0
je 0x100bbd4a
mov edx, dword [esi + 0x38]
mov edi, dword [esi + 0x70]
add edx, edi
add edx, 0xa4
add eax, 4
movzx edi, word [eax - 2]
test edi, edi
je 0x100bbd4a
mov ebx, dword [edx]
cmp ebx, edi
cmovg edi, ebx
mov dword [edx], edi
cmp word [eax], 0
lea eax, [eax + 4]
jne 0x100bbd30
lea eax, [ecx + ecx*2]
mov edi, dword [esi + 0x90]
lea ecx, [edi + eax*8]
inc dword [ecx]
mov ebx, dword [esi + 0x38]
mov ecx, dword [esi + 0x70]
mov ecx, dword [ebx + ecx + 0xa4]
mov edx, dword [edi + eax*8 + 4]
cmp edx, ecx
cmovg ecx, edx
mov dword [edi + eax*8 + 4], ecx
mov edi, ebx
mov ecx, dword [esi + 0xc]
inc ecx
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 0x4c]
jl 0x100bb5e3
jmp 0x100bc846
mov dword [esi + 0x16c], 2
mov dword [esi + 0xe8], 0
mov dword [esi + 0x110], 0
mov dword [esi + 0x10c], 0
movzx eax, byte [ebx + ecx + 4]
mov edx, ecx
mov ecx, eax
shl ecx, 8
movzx edx, byte [ebx + edx + 5]
or ecx, edx
je 0x100bc822
mov ecx, dword [esi + 0x14]
add ecx, ebx
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edx, edx
jmp 0x100bbdeb
add edx, 0x10
cmp eax, edx
je 0x100bc822
cmp byte [ecx + edx - 0xb], 0x43
jne 0x100bbde0
cmp byte [ecx + edx - 0xa], 0x46
jne 0x100bbde0
cmp byte [ecx + edx - 9], 0x46
jne 0x100bbde0
cmp byte [ecx + edx - 8], 0x20
jne 0x100bbde0
mov eax, dword [esi + 0x14]
add eax, ebx
mov eax, dword [edx + eax + 0x14]
bswap eax
test eax, eax
je 0x100bc822
lea edi, [ebx + eax]
mov ecx, dword [esi + 0x20]
movups xmmword [ecx + 0x64], xmm0
mov dword [ecx + 0x78], 0
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x34], edi
mov dword [ecx + 0x38], 0
mov dword [ecx + 0x3c], 0x20000000
movzx eax, byte [ebx + eax + 2]
movzx edx, word [eax + edi]
rol dx, 8
mov dword [esi + 0x18], edi
movzx ecx, byte [eax + edi + 2]
movzx ebx, cl
test dx, dx
je 0x100bbe90
movzx edx, dx
imul edx, ebx
add eax, edx
add eax, 3
test cl, cl
je 0x100bbe9e
xor edx, edx
cmp cl, 1
mov dword [esi + 0x40], ebx
jne 0x100bbea8
mov ecx, dword [esi + 0x18]
test byte [esi + 0x40], 1
je 0x100bbf00
cmp eax, 0x1fffffff
jg 0x100bbef3
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100bbef5
add eax, 2
shl ebx, 8
mov ecx, dword [esi + 0x18]
jmp 0x100bbf26
mov edx, 0xffffffff
mov ecx, dword [esi + 0x18]
jmp 0x100bbf01
mov edi, ebx
and edi, 0xfffffffe
xor edx, edx
mov ecx, dword [esi + 0x18]
jmp 0x100bbed1
movzx ecx, byte [ecx + eax]
inc eax
movzx ebx, bl
shl edx, 0x10
shl ebx, 8
or ebx, edx
movzx edx, cl
or edx, ebx
add edi, 0xfffffffe
mov ecx, dword [esi + 0x18]
je 0x100bbe7c
cmp eax, 0x1fffffff
jg 0x100bbee6
movzx ebx, byte [ecx + eax]
inc eax
cmp eax, 0x1fffffff
jle 0x100bbeb4
jmp 0x100bbeef
xor ebx, ebx
cmp eax, 0x1fffffff
jle 0x100bbeb4
xor ecx, ecx
jmp 0x100bbeb9
xor ecx, ecx
shl edx, 8
movzx ecx, cl
or edx, ecx
mov ecx, dword [esi + 0x18]
dec edx
add eax, edx
mov edi, 0x20000000
xor edx, edx
cmp eax, 0x1fffffff
ja 0x100bbf33
movzx ebx, byte [ecx + eax]
shl ebx, 8
mov dword [esi + 0x40], 0x1fffffff
cmp eax, 0x1fffffff
je 0x100bbf3c
lea edi, [eax + 2]
movzx edx, byte [eax + ecx + 1]
mov dword [esi + 0x40], eax
jmp 0x100bbf3c
xor ebx, ebx
mov dword [esi + 0x40], 0x20000000
or ebx, edx
je 0x100bc004
mov edx, 0xffffffff
mov eax, 0x20000000
cmp edi, 0x1fffffff
ja 0x100bbff0
movzx eax, byte [ecx + edi]
mov dword [esi + 0x3c], eax
imul ebx, eax
lea eax, [edi + ebx]
inc eax
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x100bbff0
xor edx, edx
cmp cl, 1
jne 0x100bbf9a
test byte [esi + 0x3c], 1
je 0x100bbfef
cmp eax, 0x1fffffff
jg 0x100bbfe5
mov ecx, dword [esi + 0x18]
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100bbfe7
and ecx, 0xfffffffe
xor edx, edx
jmp 0x100bbfbf
mov edi, dword [esi + 0x18]
movzx ebx, byte [edi + eax]
inc eax
movzx edi, byte [esi + 8]
shl edx, 0x10
shl edi, 8
or edi, edx
movzx edx, bl
or edx, edi
add ecx, 0xfffffffe
je 0x100bbf83
cmp eax, 0x1fffffff
jg 0x100bbfd3
mov edi, dword [esi + 0x18]
movzx ebx, byte [edi + eax]
mov dword [esi + 8], ebx
inc eax
jmp 0x100bbfda
mov dword [esi + 8], 0
cmp eax, 0x1fffffff
jle 0x100bbfa1
xor ebx, ebx
jmp 0x100bbfa9
xor ecx, ecx
shl edx, 8
movzx ecx, cl
or edx, ecx
dec edx
add eax, edx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov edi, eax
mov ecx, dword [esi + 0x18]
mov ebx, edi
mov edx, dword [esi + 0x40]
sub ebx, edx
mov eax, ebx
or eax, edx
mov dword [esi + 0xc8], edi
js 0x100bc032
add edx, ecx
mov eax, 0
test ebx, ebx
cmovs eax, ebx
mov dword [esi + 0x40], edx
jle 0x100bc048
movzx ecx, byte [edx + eax]
inc eax
shl ecx, 8
jmp 0x100bc04a
xor ecx, ecx
xor ebx, ebx
mov dword [esi + 0x40], 0
xor edi, edi
xor edx, edx
xor eax, eax
jmp 0x100bc1b4
xor ecx, ecx
cmp eax, ebx
jge 0x100bc058
mov edx, dword [esi + 0x40]
movzx edi, byte [edx + eax]
inc eax
jmp 0x100bc05a
xor edi, edi
or edi, ecx
xor edx, edx
cmp eax, ebx
mov ecx, edi
jge 0x100bc0dc
mov dword [esi + 0xe0], ecx
mov ecx, dword [esi + 0x40]
movzx edi, byte [ecx + eax]
test edi, edi
je 0x100bc0e5
lea ecx, [eax + 1]
cmp eax, 0xffffffff
cmovl ecx, ebx
mov eax, edi
dec eax
mov dword [esi + 0xe4], eax
mov dword [esi + 8], ebx
mov dword [esi + 0x1c], edi
je 0x100bc0f4
mov eax, edi
and eax, 0xfffffffe
xor edx, edx
jmp 0x100bc0b9
mov edi, dword [esi + 0x40]
movzx ebx, byte [edi + ecx]
inc ecx
movzx edi, byte [esi + 0x3c]
shl edx, 0x10
shl edi, 8
or edi, edx
movzx edx, bl
or edx, edi
add eax, 0xfffffffe
mov ebx, dword [esi + 8]
je 0x100bc0f6
cmp ecx, ebx
jge 0x100bc0cd
mov edi, dword [esi + 0x40]
movzx ebx, byte [edi + ecx]
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 8]
inc ecx
jmp 0x100bc0d4
mov dword [esi + 0x3c], 0
cmp ecx, ebx
jl 0x100bc098
xor ebx, ebx
jmp 0x100bc0a0
xor edi, edi
xor eax, eax
jmp 0x100bc1b4
xor edi, edi
xor eax, eax
mov ecx, dword [esi + 0xe0]
jmp 0x100bc1b4
xor edx, edx
mov eax, dword [esi + 0x1c]
test al, 1
je 0x100bc118
cmp ecx, ebx
jge 0x100bc10b
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + ecx]
inc ecx
jmp 0x100bc10d
xor eax, eax
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x3c], ecx
cmp dword [esi + 0xe4], 0
je 0x100bc189
mov edi, eax
and edi, 0xfffffffe
xor eax, eax
jmp 0x100bc168
mov dword [esi + 0xe4], ecx
mov ecx, dword [esi + 0x40]
movzx ecx, byte [ecx + ebx]
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xe4]
inc ebx
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 0x8c]
movzx ecx, cl
shl eax, 0x10
shl ecx, 8
or ecx, eax
movzx eax, bl
or eax, ecx
add edi, 0xfffffffe
mov ebx, dword [esi + 8]
je 0x100bc18b
mov ecx, ebx
mov ebx, dword [esi + 0x3c]
cmp ebx, ecx
mov ecx, dword [esi + 0x40]
jge 0x100bc17b
movzx ecx, byte [ecx + ebx]
inc ebx
jmp 0x100bc17d
xor ecx, ecx
cmp ebx, dword [esi + 8]
jl 0x100bc12d
mov dword [esi + 0x3c], ebx
xor ebx, ebx
jmp 0x100bc150
xor eax, eax
test byte [esi + 0x1c], 1
je 0x100bc1ab
mov edi, dword [esi + 0x3c]
cmp edi, ebx
jge 0x100bc1a1
mov ecx, dword [esi + 0x40]
movzx ecx, byte [ecx + edi]
jmp 0x100bc1a3
xor ecx, ecx
shl eax, 8
movzx ecx, cl
or eax, ecx
mov ecx, dword [esi + 0xe0]
mov edi, dword [esi + 0x1c]
sub eax, edx
inc ecx
imul ecx, edi
add ecx, edx
add ecx, 2
mov edx, eax
or edx, ecx
js 0x100bc1e8
sub ebx, ecx
setl dl
cmp ebx, eax
setl dh
mov edi, dword [esi + 0x40]
add edi, ecx
or dh, dl
test dh, dh
mov ecx, 0
cmovne eax, ecx
cmovne edi, ecx
mov ecx, dword [esi + 0x18]
jmp 0x100bc1ef
xor eax, eax
mov ecx, dword [esi + 0x18]
xor edi, edi
mov dword [esi + 0x208], edi
mov dword [esi + 0x20c], 0
mov dword [esi + 0x210], eax
xor ebx, ebx
mov edx, dword [esi + 0xc8]
cmp edx, 0x1fffffff
jg 0x100bc232
movzx eax, byte [ecx + edx]
jne 0x100bc23b
mov edx, 0xffffffff
mov ecx, 0x20000000
test al, al
jne 0x100bc30a
jmp 0x100bc342
xor edi, edi
mov ecx, edx
jmp 0x100bc353
mov edi, edx
mov edx, ecx
movzx ecx, al
shl ecx, 8
movzx eax, byte [edi + edx + 1]
or eax, ecx
mov edx, edi
je 0x100bc2b4
mov edi, edx
mov edx, 0xffffffff
mov ecx, 0x20000000
cmp edi, 0x1ffffffd
jg 0x100bc30a
mov ecx, dword [esi + 0x18]
movzx ecx, byte [ecx + edi + 2]
mov dword [esi + 0x40], ecx
imul eax, ecx
lea ecx, [edi + eax]
add ecx, 3
cmp ecx, 0x20000000
mov eax, 0x20000000
cmovae ecx, eax
mov eax, dword [esi + 0x40]
test eax, eax
je 0x100bc30a
xor edx, edx
cmp al, 1
jne 0x100bc2b9
test byte [esi + 0x40], 1
mov ebx, 0
je 0x100bc309
cmp ecx, 0x1fffffff
jg 0x100bc2ff
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + ecx]
inc ecx
jmp 0x100bc301
add edx, 2
jmp 0x100bc31c
mov edi, eax
and edi, 0xfffffffe
xor edx, edx
jmp 0x100bc2df
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + ecx]
inc ecx
movzx ebx, bl
shl edx, 0x10
shl ebx, 8
or ebx, edx
movzx edx, al
or edx, ebx
add edi, 0xfffffffe
je 0x100bc297
cmp ecx, 0x1fffffff
jg 0x100bc2f1
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + ecx]
inc ecx
jmp 0x100bc2f3
xor ebx, ebx
cmp ecx, 0x1fffffff
jle 0x100bc2c2
xor eax, eax
jmp 0x100bc2ca
xor eax, eax
shl edx, 8
movzx eax, al
or edx, eax
dec edx
add ecx, edx
cmp ecx, 0x20000000
mov eax, 0x20000000
cmovae ecx, eax
mov edx, ecx
mov ecx, 0x20000000
cmp edx, 0x1fffffff
jg 0x100bc342
mov eax, dword [esi + 0x18]
movzx edi, byte [eax + edx]
shl edi, 8
cmp edx, 0x1fffffff
jne 0x100bc34b
mov edx, 0x1fffffff
jmp 0x100bc353
mov edx, 0x20000000
xor edi, edi
jmp 0x100bc353
lea ecx, [edx + 2]
movzx ebx, byte [edx + eax + 1]
or edi, ebx
je 0x100bc426
mov dword [esi + 0xc8], edx
mov edx, 0xffffffff
mov eax, 0x20000000
cmp ecx, 0x1fffffff
jg 0x100bc40f
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + ecx]
imul edi, ebx
lea eax, [ecx + edi]
inc eax
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
test ebx, ebx
je 0x100bc40f
mov ecx, ebx
xor edx, edx
cmp cl, 1
mov dword [esi + 8], ebx
jne 0x100bc3b9
test byte [esi + 8], 1
je 0x100bc40e
cmp eax, 0x1fffffff
jg 0x100bc404
mov ecx, dword [esi + 0x18]
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100bc406
and ecx, 0xfffffffe
xor edx, edx
jmp 0x100bc3de
mov edi, dword [esi + 0x18]
movzx ebx, byte [edi + eax]
inc eax
movzx edi, byte [esi + 0x40]
shl edx, 0x10
shl edi, 8
or edi, edx
movzx edx, bl
or edx, edi
add ecx, 0xfffffffe
je 0x100bc3a2
cmp eax, 0x1fffffff
jg 0x100bc3f2
mov edi, dword [esi + 0x18]
movzx ebx, byte [edi + eax]
mov dword [esi + 0x40], ebx
inc eax
jmp 0x100bc3f9
mov dword [esi + 0x40], 0
cmp eax, 0x1fffffff
jle 0x100bc3c0
xor ebx, ebx
jmp 0x100bc3c8
xor ecx, ecx
shl edx, 8
movzx ecx, cl
or edx, ecx
dec edx
add eax, edx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ecx, eax
mov edx, dword [esi + 0xc8]
mov eax, ecx
sub eax, edx
mov edi, edx
mov edx, eax
or edx, edi
js 0x100bc458
cmp edi, 0x20000001
setge dl
cmp ecx, 0x20000001
setge cl
or cl, dl
add edi, dword [esi + 0x18]
test cl, cl
mov ecx, 0
cmovne eax, ecx
cmovne edi, ecx
jmp 0x100bc45c
xor eax, eax
xor edi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebx + 0x4c], edi
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], eax
lea edi, [esi + 0x208]
mov ecx, edi
mov edx, 0x11
lea eax, [esi + 0xe8]
push eax
push 1
call fcn.100c3ef0
add esp, 8
mov ecx, edi
mov edx, 0x106
lea eax, [esi + 0x16c]
push eax
push 1
call fcn.100c3ef0
add esp, 8
mov ecx, edi
mov edx, 0x124
lea eax, [esi + 0x110]
push eax
push 1
call fcn.100c3ef0
add esp, 8
mov ecx, edi
mov edx, 0x125
lea eax, [esi + 0x10c]
push eax
push 1
call fcn.100c3ef0
add esp, 8
lea ecx, [esi + 0x130]
mov edx, dword [esi + 0x18]
push dword [esi + 0x210]
push dword [esi + 0x20c]
push dword [esi + 0x208]
push 0x20000000
call fcn.100c4090
add esp, 0x10
mov eax, dword [esi + 0x138]
mov dword [ebx + 0x60], eax
movsd xmm0, qword [esi + 0x130]
movsd qword [ebx + 0x58], xmm0
cmp dword [esi + 0x16c], 2
xorps xmm0, xmm0
mov ebx, dword [esi + 0xd0]
jne 0x100bc822
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x40], eax
test eax, eax
je 0x100bc822
mov edi, dword [esi + 0x110]
test edi, edi
je 0x100bc6d1
mov eax, dword [esi + 0x10c]
test eax, eax
je 0x100bc822
mov dword [esi + 0x3c], eax
xor edx, edx
mov eax, 0
cmp edi, 0x20000000
mov ecx, 0x20000000
cmovae edi, ecx
mov dword [esi + 8], edi
mov ecx, dword [esi + 0x18]
jae 0x100bc591
mov eax, dword [esi + 8]
lea edi, [eax + 1]
movzx eax, byte [ecx + eax]
shl eax, 8
cmp edi, 0x1fffffff
jbe 0x100bc599
or edx, eax
jne 0x100bc5a6
jmp 0x100bc662
cmp edi, 0x1fffffff
ja 0x100bc588
movzx edx, byte [ecx + edi]
inc edi
or edx, eax
je 0x100bc662
mov ecx, 0xffffffff
mov eax, 0x20000000
cmp edi, 0x1fffffff
ja 0x100bc651
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + edi]
imul edx, ebx
lea eax, [edi + edx]
inc eax
cmp eax, 0x20000000
mov edx, 0x20000000
cmovae eax, edx
test ebx, ebx
je 0x100bc651
xor ecx, ecx
cmp bl, 1
mov dword [esi + 0xe4], ebx
jne 0x100bc602
test byte [esi + 0xe4], 1
je 0x100bc650
cmp eax, 0x1fffffff
jg 0x100bc646
mov edx, dword [esi + 0x18]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100bc648
mov edi, ebx
and edi, 0xfffffffe
xor ecx, ecx
jmp 0x100bc628
mov edx, dword [esi + 0x18]
movzx edx, byte [edx + eax]
inc eax
movzx ebx, bl
shl ecx, 0x10
shl ebx, 8
or ebx, ecx
movzx ecx, dl
or ecx, ebx
add edi, 0xfffffffe
je 0x100bc5e8
cmp eax, 0x1fffffff
jg 0x100bc639
mov edx, dword [esi + 0x18]
movzx ebx, byte [edx + eax]
inc eax
jmp 0x100bc63b
xor ebx, ebx
cmp eax, 0x1fffffff
jle 0x100bc60b
xor edx, edx
jmp 0x100bc613
xor edx, edx
shl ecx, 8
movzx edx, dl
or ecx, edx
dec ecx
add eax, ecx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov edi, eax
mov ecx, edi
mov edx, dword [esi + 8]
sub ecx, edx
add edx, dword [esi + 0x18]
cmp edi, 0x20000001
mov eax, ecx
mov edi, 0
cmovae eax, edi
cmovae edx, edi
test ecx, ecx
cmovs eax, edi
cmovs edx, edi
mov ebx, dword [esi + 0x20]
mov dword [ebx + 0x64], edx
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x6c], eax
mov eax, 0x20000000
mov edx, dword [esi + 0x3c]
sub eax, edx
mov ecx, eax
or ecx, edx
sets cl
cmp edx, 0x20000001
setge ch
or ch, cl
add edx, dword [esi + 0x18]
test ch, ch
cmovne edx, edi
mov dword [ebx + 0x70], edx
cmovne eax, edi
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x78], eax
mov ebx, dword [esi + 0xd0]
xor edx, edx
mov eax, 0
mov edi, dword [esi + 0x40]
cmp edi, 0x20000000
mov ecx, 0x20000000
cmovae edi, ecx
mov dword [esi + 0x40], edi
mov ecx, dword [esi + 0x18]
jae 0x100bc70f
mov eax, dword [esi + 0x40]
lea edi, [eax + 1]
movzx eax, byte [ecx + eax]
shl eax, 8
cmp edi, 0x1fffffff
jbe 0x100bc717
or edx, eax
jne 0x100bc724
jmp 0x100bc7e3
cmp edi, 0x1fffffff
ja 0x100bc706
movzx edx, byte [ecx + edi]
inc edi
or edx, eax
je 0x100bc7e3
mov ecx, 0xffffffff
mov eax, 0x20000000
cmp edi, 0x1fffffff
ja 0x100bc7d2
mov eax, dword [esi + 0x18]
movzx eax, byte [eax + edi]
mov dword [esi + 8], eax
imul edx, eax
lea eax, [edi + edx]
inc eax
cmp eax, 0x20000000
mov edx, 0x20000000
cmovae eax, edx
mov edx, dword [esi + 8]
test edx, edx
je 0x100bc7d2
xor ecx, ecx
cmp dl, 1
jne 0x100bc77d
test byte [esi + 8], 1
je 0x100bc7d1
cmp eax, 0x1fffffff
jg 0x100bc7c7
mov edx, dword [esi + 0x18]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100bc7c9
mov edi, edx
and edi, 0xfffffffe
xor ecx, ecx
jmp 0x100bc7a9
mov ebx, dword [esi + 0x18]
movzx ebx, byte [ebx + eax]
inc eax
movzx edx, dl
shl ecx, 0x10
shl edx, 8
or edx, ecx
movzx ecx, bl
or ecx, edx
add edi, 0xfffffffe
mov ebx, dword [esi + 0xd0]
je 0x100bc766
cmp eax, 0x1fffffff
jg 0x100bc7ba
mov edx, dword [esi + 0x18]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100bc7bc
xor edx, edx
cmp eax, 0x1fffffff
jle 0x100bc786
xor ebx, ebx
jmp 0x100bc78e
xor edx, edx
shl ecx, 8
movzx edx, dl
or ecx, edx
dec ecx
add eax, ecx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov edi, eax
mov ecx, edi
mov eax, dword [esi + 0x40]
sub ecx, eax
mov edx, dword [esi + 0x18]
add edx, eax
cmp edi, 0x20000001
mov eax, ecx
mov edi, 0
cmovae eax, edi
cmovae edx, edi
test ecx, ecx
cmovs edx, edi
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0x40], edx
cmovs eax, edi
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x48], eax
mov ecx, dword [esi + 0x14]
jmp 0x100bbbc8
mov eax, dword [esi + 0x90]
test eax, eax
je 0x100bc83f
mov dword [esi + 0x458], 4
push eax
call fcn.1009ca30
add esp, 4
xor eax, eax
jmp 0x100c0c7d
add eax, 0x1c
mov dword [esi + 0x1b0], eax
xor eax, eax
mov dword [esi + 0x40], 0
jmp 0x100bc866
mov edi, ebx
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc4]
jge 0x100bcba4
mov dword [esi + 8], eax
imul eax, eax, 0xc4
mov ebx, dword [edi + eax + 0xa0]
mov edx, dword [edi + eax + 0xa4]
lea ecx, [edi + eax]
add ecx, 0xac
add edx, 0x20
sar edx, 5
mov dword [esi + 0xc], eax
mov eax, dword [edi + eax + 0xb0]
mov dword [esi + 0x20], edx
cmp eax, edx
mov dword [esi + 0x70], ecx
mov dword [esi + 0xb0], ebx
jge 0x100bc8d0
test eax, eax
je 0x100bc8d8
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
mov dword [esi + 0x458], 6
jmp 0x100bc8dd
mov edx, dword [ecx + 8]
jmp 0x100bc972
mov ecx, 8
mov eax, dword [esi + 0x20]
cmp ecx, eax
cmovle ecx, eax
mov dword [esi + 0x14], ecx
lea eax, [ecx*4]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.1009ca00
mov edi, dword [esi + 0x38]
add esp, 4
mov ecx, dword [esi + 0x70]
mov edx, eax
mov eax, dword [ecx + 8]
test eax, eax
je 0x100bc969
mov ecx, dword [esi + 0x70]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push eax
push edx
mov dword [esi + 0xd0], edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
push eax
call fcn.1009ca30
mov edx, dword [esi + 0xd0]
mov ecx, dword [esi + 0x70]
mov edi, dword [esi + 0x38]
add esp, 4
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x20]
mov dword [ecx], eax
shl eax, 2
push eax
push 0
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0xb0]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x90]
lea edx, [eax + ecx*8]
add edx, 0xc
mov dword [esi + 0x20], ecx
cmp dword [eax + ecx*8 + 0xc], 0
mov dword [esi + 0x14], edx
jne 0x100bca9d
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x20]
mov ecx, dword [eax + ecx*8 + 4]
add ecx, 0x20
sar ecx, 5
mov eax, dword [edx + 4]
cmp eax, ecx
jge 0x100bc9e1
test eax, eax
je 0x100bc9e9
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
add edx, eax
mov dword [esi + 0x458], 6
jmp 0x100bc9ee
mov ebx, dword [edx + 8]
jmp 0x100bca89
mov edx, 8
cmp edx, ecx
mov dword [esi + 0xb0], ecx
cmovle edx, ecx
mov dword [esi + 0xd0], edx
lea eax, [edx*4]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.1009ca00
mov edi, dword [esi + 0x38]
add esp, 4
mov edx, dword [esi + 0x14]
mov ebx, eax
mov eax, dword [edx + 8]
test eax, eax
je 0x100bca77
mov ecx, dword [edx]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
push eax
mov dword [esi + 0x60], ebx
call fcn.1009ca30
mov ebx, dword [esi + 0x60]
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x38]
add esp, 4
mov dword [edx + 8], ebx
mov eax, dword [esi + 0xd0]
mov dword [edx + 4], eax
mov ecx, dword [esi + 0xb0]
mov dword [edx], ecx
shl ecx, 2
push ecx
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esi + 0x14]
add esp, 0xc
mov ebx, dword [esi + 0xc]
mov eax, dword [edi + ebx + 0x9c]
mov dword [esi + 0x60], eax
movzx eax, word [eax]
test ax, ax
je 0x100bc862
lea ecx, [edi + ebx]
mov dword [esi + 0xd0], ecx
lea ecx, [edi + ebx]
add ecx, 0xa8
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x90]
mov ebx, edi
mov edi, dword [esi + 0x20]
lea ecx, [ecx + edi*8 + 8]
mov edi, ebx
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x60]
jmp 0x100bcb06
mov ecx, dword [esi + 0x60]
movzx eax, word [ecx + 4]
add ecx, 4
test ax, ax
mov edi, dword [esi + 0x38]
je 0x100bc862
mov ebx, edi
movzx edi, word [ecx + 2]
test di, di
je 0x100bc860
mov dword [esi + 0x60], ecx
cmp ax, di
ja 0x100bcaf0
movzx ebx, ax
jmp 0x100bcb40
mov edx, dword [esi + 0x14]
nop word cs:[eax + eax]
movzx edi, word [esi + 0x20]
lea eax, [ebx + 1]
movzx ecx, di
cmp ebx, ecx
mov ebx, eax
jae 0x100bcaf0
mov word [esi + 0x20], di
mov eax, dword [edx + 8]
mov edi, 1
mov ecx, ebx
shl edi, cl
mov ecx, edi
mov edi, ebx
shr edi, 5
mov eax, dword [eax + edi*4]
bt eax, ebx
jb 0x100bcb30
mov dword [esi + 0xb0], ecx
mov ecx, dword [esi + 0xd0]
mov edx, ebx
call fcn.100c11c0
test eax, eax
je 0x100bcb22
mov eax, dword [esi + 0xc]
inc dword [eax]
mov eax, dword [esi + 0x18]
inc dword [eax]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0xb0]
or dword [eax + edi*4], ecx
mov edx, dword [esi + 0x14]
mov eax, dword [edx + 8]
or dword [eax + edi*4], ecx
inc dword [esi + 0x40]
mov eax, dword [esi + 0x60]
movzx edi, word [eax + 2]
jmp 0x100bcb34
xor ecx, ecx
jmp 0x100bcc06
mov eax, dword [esi + 0x5c]
mov edx, dword [eax + 8]
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
test edx, edx
je 0x100bcc05
mov eax, dword [esi + 0x5c]
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0x90]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push edx
call fcn.1009ca30
mov edi, dword [esi + 0x38]
add esp, 4
mov eax, dword [esi + 0x5c]
mov dword [eax + 8], 0
mov ecx, dword [esi + 0x3c]
inc ecx
cmp ecx, dword [esi + 0xc4]
jge 0x100bce60
imul ebx, ecx, 0xc4
lea edx, [edi + ebx]
add edx, 0xb8
mov eax, dword [edi + ebx + 0xa8]
cmp dword [edi + ebx + 0xbc], eax
mov dword [esi + 0x3c], ecx
mov dword [esi + 0xc], edx
jge 0x100bcce6
mov dword [esi + 0xb0], eax
lea eax, [eax*4]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
mov dword [esi + 0x20], ebx
call fcn.1009ca00
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x38]
add esp, 4
lea ecx, [edi + ebx]
add ecx, 0xc0
mov edx, dword [edi + ebx + 0xc0]
test edx, edx
je 0x100bccd5
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push edx
push eax
mov dword [esi + 0xd0], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edi
push eax
call fcn.1009ca30
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0xd0]
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x38]
add esp, 4
mov dword [ecx], eax
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0xb0]
mov dword [edx + 4], eax
mov ecx, dword [esi + 0x3c]
lea eax, [edi + ebx]
add eax, 0xac
mov dword [esi + 0x5c], eax
mov eax, dword [edi + ebx + 0xac]
mov dword [esi + 0x20], eax
mov eax, dword [edi + ebx + 0xb4]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x20], 0
jle 0x100bce50
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x20]
lea eax, [ecx + eax*4]
mov dword [esi + 8], eax
lea eax, [edi + ebx]
add eax, 0xc0
mov dword [esi + 0x14], eax
mov eax, ecx
jmp 0x100bcd3c
add eax, 4
cmp eax, dword [esi + 8]
jae 0x100bcbb0
mov edi, dword [eax]
mov dword [esi + 0xb0], edi
test edi, edi
je 0x100bcd30
mov edi, eax
sub edi, dword [esi + 0x10]
shl edi, 3
mov dword [esi + 0x60], edi
xor edi, edi
mov dword [esi + 0xd0], eax
jmp 0x100bcd7b
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
mov eax, dword [esi + 0x60]
add eax, edi
mov dword [ecx + ebx*4], eax
inc dword [edx]
mov eax, dword [esi + 0xd0]
inc edi
cmp edi, 0x20
je 0x100bcd30
mov dword [esi + 0x20], edi
mov edi, dword [esi + 0xb0]
mov ebx, dword [esi + 0x20]
bt edi, ebx
mov edi, dword [esi + 0x20]
jae 0x100bcd75
mov ebx, dword [edx]
cmp ebx, dword [edx + 4]
jne 0x100bcd60
test ebx, ebx
je 0x100bcdb1
mov eax, ebx
shr eax, 0x1f
add eax, ebx
sar eax, 1
add eax, ebx
mov dword [esi + 0x458], 6
jmp 0x100bcdb6
mov eax, 8
mov edx, dword [esi + 0x38]
inc ebx
cmp eax, ebx
cmovg ebx, eax
mov dword [esi + 0x70], ebx
lea eax, [ebx*4]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edx
mov dword [esi + 0x458], 6
push eax
call fcn.1009ca00
mov ebx, dword [esi + 0x38]
add esp, 4
mov edi, dword [esi + 0x14]
mov edx, dword [edi]
test edx, edx
je 0x100bce33
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push edx
push eax
mov dword [esi + 0x18], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [esi + 0x90]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
push eax
call fcn.1009ca30
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x14]
add esp, 4
mov dword [edi], eax
mov ecx, eax
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x70]
mov dword [edx + 4], eax
mov ebx, dword [edx]
mov edi, dword [esi + 0x20]
jmp 0x100bcd65
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x100bcbc0
jmp 0x100bcc05
xor edx, edx
jmp 0x100bce81
mov eax, dword [esi + 0xb0]
mov dword [eax + 8], 0
mov edx, dword [esi + 0x20]
inc edx
cmp edx, dword [esi + 0xcc]
jge 0x100bcee0
lea ecx, [edx + edx*2]
mov eax, dword [esi + 0x90]
mov eax, dword [eax + ecx*8 + 0x14]
test eax, eax
je 0x100bce80
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x90]
lea ecx, [edx + ecx*8]
add ecx, 0xc
mov dword [ecx + 4], 0
mov dword [esi + 0xb0], ecx
mov dword [ecx], 0
mov dword [esi + 0xa8], edx
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.1009ca30
mov edi, dword [esi + 0x38]
add esp, 4
jmp 0x100bce70
cmp dword [esi + 0x90], 0
je 0x100bcf0e
mov eax, dword [esi + 0x90]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], edi
mov dword [esi + 0x458], 6
push eax
call fcn.1009ca30
add esp, 4
mov dword [esi + 0x134], 0
mov dword [esi + 0x130], 0
mov dword [esi + 0x138], 0
mov dword [esi + 0x170], 0
mov dword [esi + 0x16c], 0
mov dword [esi + 0x174], 0
mov ecx, dword [esi + 0x40]
test ecx, ecx
jle 0x100bcfc3
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
mov dword [esi + 0x20], eax
shl eax, 4
mov dword [esi + 0x458], 7
push eax
mov dword [esi + 0x40], ecx
call fcn.1009ca00
add esp, 4
mov dword [esi + 0x138], eax
mov edx, dword [esi + 0x20]
mov dword [esi + 0x134], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x130], ecx
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
push ecx
mov dword [esi + 0xb0], eax
call fcn.1009ca00
mov edx, dword [esi + 0xb0]
add esp, 4
mov ebx, eax
mov dword [esi + 0x174], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x170], eax
mov edi, dword [esi + 0x40]
jmp 0x100bcfcf
mov dword [esi + 0x130], ecx
mov edi, ecx
xor ebx, ebx
xor edx, edx
mov dword [esi + 0x16c], edi
mov eax, edi
shl eax, 4
push eax
push 0
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [edi + edi*8]
lea eax, [eax + eax*2]
add eax, edi
push eax
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp dword [esi + 0xc4], 0
jle 0x100bd29a
xor ecx, ecx
mov dword [esi + 0x18], 0
mov dword [esi + 0x40], 0
xor edx, edx
mov ebx, dword [esi + 0x38]
jmp 0x100bd030
mov edx, dword [esi + 0xc]
inc edx
cmp edx, dword [esi + 0xc4]
je 0x100bd29c
imul eax, edx, 0xc4
mov edi, dword [ebx + eax + 0xa8]
test edi, edi
je 0x100bd023
mov dword [esi + 0xd0], edi
mov dword [esi + 0xb0], ecx
mov ecx, dword [esi + 0x18]
shl ecx, 4
add ecx, dword [esi + 0x138]
mov dword [ebx + eax + 0x94], ecx
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x40]
lea ecx, [edx + edx*8]
lea edi, [ecx + ecx*2]
add edi, edx
add edi, dword [esi + 0x174]
mov dword [ebx + eax + 0x98], edi
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x54]
mov dword [esi + 0x60], ecx
imul edx, dword [esi + 0xc], 0x78
movss xmm0, dword [ecx + edx + 0x10]
movss dword [ebx + eax + 0x7c], xmm0
mov dword [ebx + eax + 0x80], 0
mov ecx, dword [ebx + eax + 0xb8]
mov dword [esi + 0x20], ecx
mov ecx, dword [ebx + eax + 0xc0]
mov dword [ebx + eax + 0x84], ecx
mov ecx, dword [esi + 0x20]
mov dword [ebx + eax + 0x88], ecx
mov dword [ebx + eax + 0x8c], edi
mov edi, dword [esi + 0x60]
movzx ecx, byte [edi + edx + 0x14]
mov byte [ebx + eax + 0x90], cl
movzx ecx, byte [edi + edx + 0x18]
mov byte [ebx + eax + 0x91], cl
mov dword [esi + 0x70], eax
lea ecx, [ebx + eax]
mov dword [esi + 0x90], edx
movss xmm1, dword [edi + edx + 0x10]
ucomiss xmm1, dword [0x10147b30]
mov dword [esi + 0x14], ecx
jbe 0x100bd140
mov edi, dword [ecx + 4]
mov edx, dword [ecx + 0x1c]
movzx ecx, byte [edi + edx + 4]
shl ecx, 8
movzx eax, byte [edi + edx + 5]
movsx ecx, cx
or ecx, eax
movzx ebx, byte [edi + edx + 6]
movzx edx, byte [edi + edx + 7]
shl ebx, 8
movsx edi, bx
mov ebx, dword [esi + 0x38]
or edi, edx
sub ecx, edi
jmp 0x100bd159
xorps xmm1, xmmword [0x10146bb0]
mov edi, dword [ecx + 4]
mov edx, dword [ecx + 0x14]
movzx ecx, word [edi + edx + 0x12]
rol cx, 8
movzx ecx, cx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
divss xmm1, xmm0
mov ecx, dword [esi + 0xd0]
add dword [esi + 0x18], ecx
add dword [esi + 0x40], ecx
cmp dword [esi + 0x20], 0
mov ecx, dword [esi + 0xb0]
mov eax, dword [esi + 0x70]
jle 0x100bd020
add eax, ebx
add eax, 0x94
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x90]
lea eax, [eax + edx + 0x14]
mov dword [esi + 0x60], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x70], eax
xor ebx, ebx
xor edx, edx
movaps xmmword [esi + 0x90], xmm1
nop word cs:[eax + eax]
mov dword [esi + 0x20], edx
mov dword [esi + 0xb0], ecx
mov eax, dword [esi + 0xd0]
mov eax, dword [eax + 0x2c]
mov ecx, dword [esi + 0x20]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esi + 0x14]
call fcn.100c11c0
mov edi, dword [esi + 0x60]
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [edi + 4]
movaps xmm2, xmmword [esi + 0x90]
mulss xmm1, xmm2
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [edi]
mulss xmm0, xmm2
mov ecx, dword [esi + 0x14]
mov edx, eax
lea eax, [esi + 0x10c]
push eax
lea eax, [esi + 0x110]
push eax
lea eax, [esi + 0xe8]
push eax
lea eax, [esi + 0x208]
push eax
call fcn.100c14b0
add esp, 0x10
mov eax, dword [edi]
mov ecx, dword [esi + 0x110]
mov edx, dword [esi + 0x70]
add ecx, edx
sub ecx, dword [esi + 0x208]
add eax, ecx
dec eax
mov edi, dword [esi + 0xd0]
mov ecx, dword [edi]
mov word [ecx + ebx + 4], ax
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x10c]
add ecx, edx
mov edx, dword [esi + 0x20]
sub ecx, dword [esi + 0xe8]
add eax, ecx
dec eax
mov ecx, dword [edi]
mov word [ecx + ebx + 6], ax
mov eax, dword [edi]
movzx ecx, word [eax + ebx + 4]
movzx eax, word [eax + ebx + 6]
imul eax, ecx
mov ecx, dword [esi + 0xb0]
add ecx, eax
inc edx
add ebx, 0x10
cmp edx, dword [edi + 0x24]
jl 0x100bd1c0
mov ebx, dword [esi + 0x38]
jmp 0x100bd020
xor ecx, ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100bd2b6
sqrtsd xmm0, xmm0
jmp 0x100bd2d4
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esi + 0x1e0]
movsd xmm0, qword [esi + 0x1e0]
mov eax, dword [ebp + 8]
mov dword [eax + 0x20], 0
mov ecx, dword [eax + 0xc]
test ecx, ecx
jg 0x100bd322
cvtsd2ss xmm0, xmm0
cvttss2si eax, xmm0
mov ecx, 0x1000
cmp eax, 0xb32
jg 0x100bd322
mov ecx, 0x800
cmp eax, 0x598
jg 0x100bd322
xor ecx, ecx
cmp eax, 0x2cc
setge cl
shl ecx, 9
add ecx, 0x200
mov dword [esi + 0x458], 7
mov eax, dword [ebp + 8]
mov dword [esi + 0x14], ecx
mov dword [eax + 0x1c], ecx
mov eax, dword [eax + 0x10]
mov dword [esi + 0x100], eax
mov dword [esi + 0x458], 7
push 0x30
call fcn.1009ca00
add esp, 4
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0x100]
mov dword [esi + 0xb0], eax
lea eax, [eax*8]
push eax
call fcn.1009ca00
add esp, 4
mov dword [esi + 0xf4], eax
cmp dword [esi + 0xec], 0
mov eax, dword [esi + 0xf4]
je 0x100bd4b6
test eax, eax
je 0x100bd4b6
mov ecx, 0x8000
sub ecx, dword [esi + 0x100]
mov dword [esi + 0xd0], ecx
mov ebx, dword [esi + 0xb0]
lea ecx, [ebx - 1]
mov dword [esi + 0x20], ecx
xor ecx, ecx
cmp ebx, 2
jl 0x100bd44c
lea ecx, [ebx - 2]
mov edx, dword [esi + 0x20]
and edx, 7
xor edi, edi
cmp ecx, 7
jb 0x100bd419
mov eax, dword [esi + 0x20]
and eax, 0xfffffff8
xor edi, edi
mov ecx, dword [esi + 0xf4]
nop word cs:[eax + eax]
lea ebx, [ecx + 8]
mov dword [ecx + 4], ebx
lea ebx, [ecx + 0x10]
mov dword [ecx + 0xc], ebx
lea ebx, [ecx + 0x18]
mov dword [ecx + 0x14], ebx
lea ebx, [ecx + 0x20]
mov dword [ecx + 0x1c], ebx
lea ebx, [ecx + 0x28]
mov dword [ecx + 0x24], ebx
lea ebx, [ecx + 0x30]
mov dword [ecx + 0x2c], ebx
lea ebx, [ecx + 0x38]
mov dword [ecx + 0x34], ebx
add edi, 8
lea ebx, [ecx + 0x40]
mov dword [ecx + 0x3c], ebx
mov ecx, ebx
cmp eax, edi
jne 0x100bd3e0
mov ecx, dword [esi + 0x20]
test edx, edx
mov eax, dword [esi + 0xf4]
mov ebx, dword [esi + 0xb0]
je 0x100bd44c
lea ecx, [eax + edi*8]
add ecx, 8
nop word cs:[eax + eax]
mov dword [ecx - 4], ecx
add ecx, 8
dec edx
jne 0x100bd440
mov ecx, dword [esi + 0x20]
mov dword [eax + ecx*8 + 4], 0
mov ecx, dword [esi + 0xec]
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x1c], eax
lea eax, [ecx + 0x20]
mov dword [ecx + 0x18], eax
mov dword [ecx], ebx
mov eax, dword [esi + 0xd0]
mov dword [ecx + 4], eax
mov dword [ecx + 0x14], ebx
mov eax, dword [esi + 0x20]
add eax, ebx
cdq
idiv ebx
mov dword [ecx + 8], eax
mov dword [ecx + 0x20], 0
mov eax, ecx
add eax, 0x28
mov dword [ecx + 0x24], eax
mov word [ecx + 0x28], bx
mov word [ecx + 0x2a], 0xffff
mov dword [ecx + 0x2c], 0
mov dword [esi + 0x458], 7
jmp 0x100bd52c
cmp dword [esi + 0xec], 0
je 0x100bd4cd
push dword [esi + 0xec]
call fcn.1009ca30
add esp, 4
mov eax, dword [esi + 0xf4]
test eax, eax
je 0x100bd507
mov dword [esi + 0x100], 0
push eax
call fcn.1009ca30
add esp, 4
mov dword [esi + 0xf4], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0xec], 0
jmp 0x100bd52c
mov dword [esi + 0xf4], 0
mov dword [esi + 0x100], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0xec], 0
push dword [esi + 0xec]
push dword [ebp + 8]
call fcn.100c1700
add esp, 8
cmp dword [esi + 0xc4], 0
jle 0x100bd60b
xor eax, eax
jmp 0x100bd563
mov eax, dword [esi + 0xd0]
inc eax
cmp eax, dword [esi + 0xc4]
je 0x100bd60b
mov dword [esi + 0xd0], eax
imul ebx, eax, 0xc4
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ebx + 0xa8]
test eax, eax
je 0x100bd550
mov ecx, dword [esi + 0x38]
lea edi, [ecx + ebx]
add edi, 0xa8
mov edx, dword [ecx + ebx + 0x94]
mov ecx, dword [esi + 0xec]
push eax
call fcn.100c18c0
add esp, 4
mov dword [esi + 0xb0], edi
mov edi, dword [edi]
test edi, edi
jle 0x100bd550
mov eax, dword [esi + 0x38]
add eax, ebx
add eax, 0x94
mov dword [esi + 0x20], eax
xor ecx, ecx
mov edx, 0xc
jmp 0x100bd5dc
inc ecx
add edx, 0x10
cmp ecx, edi
jge 0x100bd550
mov eax, dword [esi + 0x20]
mov ebx, dword [eax]
cmp dword [ebx + edx], 0
je 0x100bd5d0
movzx edi, word [ebx + edx - 2]
movzx ebx, word [ebx + edx - 6]
add ebx, edi
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x20]
cmp edi, ebx
cmovg ebx, edi
mov dword [eax + 0x20], ebx
mov eax, dword [esi + 0xb0]
mov edi, dword [eax]
jmp 0x100bd5d0
mov eax, dword [ebp + 8]
test byte [eax + 4], 1
mov eax, dword [eax + 0x20]
jne 0x100bd644
dec eax
mov ecx, eax
sar ecx, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or eax, ecx
mov ecx, eax
sar ecx, 4
or ecx, eax
mov edx, ecx
sar edx, 8
or edx, ecx
mov eax, edx
sar eax, 0x10
or eax, edx
mov dword [esi + 0x458], 7
inc eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x20], eax
mov ecx, dword [edx + 0x1c]
movd xmm0, eax
movd xmm1, ecx
punpckldq xmm1, xmm0
cvtdq2ps xmm0, xmm1
movaps xmm1, xmmword [0x10147710]
divps xmm1, xmm0
movlps qword [edx + 0x24], xmm1
imul eax, ecx
mov dword [esi + 0x458], 7
push eax
call fcn.1009ca00
add esp, 4
mov edi, dword [ebp + 8]
mov dword [edi + 0x14], eax
mov ecx, dword [edi + 0x20]
imul ecx, dword [edi + 0x1c]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x14]
mov dword [esi + 0x14c], eax
movd xmm0, dword [esi + 0x100]
pshuflw xmm0, xmm0, 0
movdqa xmmword [esi + 0x420], xmm0
mov eax, dword [esi + 0x14]
add eax, eax
xor edx, edx
xorps xmm3, xmm3
movaps xmm0, xmmword [0x10146bb0]
mov dword [esi + 0x18], eax
jmp 0x100bd6da
mov eax, dword [esi + 0x40]
mov dword [eax], 0
inc edx
cmp edx, dword [esi + 0xc4]
jge 0x100c0859
imul ecx, edx, 0xc4
mov edi, dword [esi + 0x38]
cmp dword [edi + ecx + 0xa8], 0
je 0x100bd6d9
mov eax, dword [esi + 0x38]
lea edi, [eax + ecx]
mov dword [esi + 0x114], ecx
movss xmm1, dword [eax + ecx + 0x7c]
ucomiss xmm1, xmm3
mov dword [esi + 0x160], edx
mov dword [esi + 0x188], edi
jbe 0x100bd760
mov eax, dword [edi + 4]
mov edx, dword [edi + 0x1c]
movzx ecx, byte [eax + edx + 4]
shl ecx, 8
movzx edi, byte [eax + edx + 5]
movsx ecx, cx
or ecx, edi
movzx edi, byte [eax + edx + 6]
movzx eax, byte [eax + edx + 7]
shl edi, 8
movsx edx, di
or edx, eax
sub ecx, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
jmp 0x100bd77c
xorps xmm1, xmm0
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x14]
movzx eax, word [eax + ecx + 0x12]
rol ax, 8
movzx eax, ax
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm1, xmm0
movaps xmmword [esi + 0x1d0], xmm1
mov ecx, dword [esi + 0x114]
mov eax, dword [esi + 0x38]
add eax, ecx
add eax, 0x90
movzx eax, byte [eax]
mov edi, 1
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
sub edi, eax
xorps xmm0, xmm0
movss dword [esi + 0x180], xmm0
movss dword [esi + 0x17c], xmm0
mov dword [esi + 0xd0], eax
test eax, eax
je 0x100bd7df
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
movaps xmm0, xmm2
addss xmm0, xmm2
divss xmm1, xmm0
movss dword [esi + 0x17c], xmm1
movss dword [esi + 0x11c], xmm2
mov dword [esi + 0x1ac], edi
mov eax, dword [esi + 0x38]
mov edx, eax
add eax, ecx
add eax, 0x91
movzx eax, byte [eax]
movzx edi, al
xorps xmm3, xmm3
cvtsi2ss xmm3, edi
mov ebx, 1
mov dword [esi + 0xb0], edi
sub ebx, edi
mov byte [esi + 0xff], al
test al, al
je 0x100bd837
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
movaps xmm0, xmm3
addss xmm0, xmm3
divss xmm1, xmm0
movss dword [esi + 0x180], xmm1
mov dword [esi + 0x1a0], ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x54]
mov dword [esi + 0x19c], eax
lea eax, [edx + ecx]
add eax, 0x88
mov dword [esi + 0x1c8], eax
mov eax, dword [eax]
test eax, eax
movaps xmm0, xmmword [0x10146bb0]
jle 0x100c0440
mov ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x114]
mov edx, dword [ecx + edi + 0x94]
mov edi, dword [esi + 0x114]
add ecx, edi
add ecx, 0x8c
mov dword [esi + 0x1c4], ecx
movss xmm0, dword [0x10147700]
movaps xmm2, xmm0
movss xmm1, dword [esi + 0x11c]
divss xmm2, xmm1
movss dword [esi + 0x1c0], xmm2
divss xmm0, xmm3
movss dword [esi + 0x1bc], xmm0
movaps xmm0, xmmword [esi + 0x1d0]
mulss xmm3, xmm0
movaps xmmword [esi + 0x1f0], xmm3
mulss xmm1, xmm0
movaps xmm0, xmm3
movss dword [esi + 0x11c], xmm1
minss xmm0, xmm1
movss xmm1, dword [0x10148fc8]
divss xmm1, xmm0
movaps xmm0, xmmword [0x10146bb0]
mulss xmm1, xmm1
movss dword [esi + 0xe4], xmm1
xorps xmm3, xmm0
movaps xmmword [esi + 0x410], xmm3
mov ecx, dword [esi + 0xd0]
lea ecx, [ecx*4]
mov edi, 4
sub edi, ecx
mov dword [esi + 0x198], edi
mov ecx, dword [esi + 0x114]
xor ebx, ebx
mov dword [esi + 0x12c], edx
jmp 0x100bda6e
mov eax, dword [esi + 0x8c]
movzx eax, word [eax]
mov ebx, dword [esi + 0x144]
lea ecx, [ebx + ebx*8]
lea ecx, [ecx + ecx*2]
add ecx, ebx
mov edi, dword [esi + 0x164]
lea edx, [edi + ecx]
mov word [edx], ax
mov eax, dword [esi + 0x8c]
movzx eax, word [eax + 2]
mov word [edi + ecx + 2], ax
mov edx, dword [esi + 0x128]
movzx eax, word [edx]
mov edi, dword [esi + 0x8c]
add ax, word [edi]
mov edi, dword [esi + 0x164]
mov word [edi + ecx + 4], ax
movzx eax, word [edx + 2]
mov edi, dword [esi + 0x8c]
add ax, word [edi + 2]
mov edi, dword [esi + 0x164]
mov word [edi + ecx + 6], ax
movzx eax, word [esi + 0x17a]
rol ax, 8
cwde
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x1d0]
movss dword [edi + ecx + 0x10], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x190]
movss xmm4, dword [esi + 0x1c0]
mulss xmm0, xmm4
movss xmm3, dword [esi + 0x17c]
addss xmm0, xmm3
movss dword [edi + ecx + 8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x18c]
movss xmm5, dword [esi + 0x1bc]
mulss xmm0, xmm5
movss xmm1, dword [esi + 0x180]
addss xmm0, xmm1
movss dword [edi + ecx + 0xc], xmm0
movzx eax, word [edx]
add eax, dword [esi + 0x190]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm4
addss xmm0, xmm3
movss dword [edi + ecx + 0x14], xmm0
movzx eax, word [edx + 2]
add eax, dword [esi + 0x18c]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm5
addss xmm0, xmm1
movss dword [edi + ecx + 0x18], xmm0
mov eax, dword [esi + 0x1c8]
mov eax, dword [eax]
movaps xmm0, xmmword [0x10146bb0]
mov ecx, dword [esi + 0x114]
inc ebx
cmp ebx, eax
mov edx, dword [esi + 0x12c]
jge 0x100c0440
mov edi, ebx
shl edi, 4
cmp dword [edx + edi + 0xc], 0
je 0x100bda5f
mov dword [esi + 0x144], ebx
mov ebx, edx
movzx edx, word [edx + edi + 4]
test dx, dx
je 0x100bdae0
movzx ebx, word [ebx + edi + 6]
mov dword [esi + 0x20], ebx
test bx, bx
mov ebx, dword [esi + 0x144]
je 0x100bda5f
mov dword [esi + 0x60], edx
mov eax, dword [esi + 0x12c]
mov dword [esi + 0x168], edi
add eax, edi
add eax, 4
mov dword [esi + 0x128], eax
mov ecx, dword [esi + 0x1c4]
mov eax, dword [ecx]
mov dword [esi + 0x164], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x100bdaeb
mov edx, dword [eax + ebx*4]
jmp 0x100bdaf0
mov ebx, dword [esi + 0x144]
jmp 0x100bda5f
mov edx, dword [ecx - 0xc]
add edx, ebx
mov dword [esi + 0x458], 7
mov edi, dword [esi + 0x188]
mov ecx, edi
call fcn.100c11c0
mov ebx, eax
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x168]
movd xmm0, dword [eax + ecx + 8]
paddw xmm0, xmmword [esi + 0x420]
movd dword [eax + ecx + 8], xmm0
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x60]
sub ecx, eax
mov edx, dword [esi + 0x128]
mov word [edx], cx
mov ecx, dword [esi + 0x20]
sub ecx, eax
mov word [edx + 2], cx
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x1c]
movzx ecx, word [eax + ecx + 0x22]
rol cx, 8
movzx ecx, cx
add eax, dword [edi + 0x20]
lea edx, [ebx*4]
cmp ecx, ebx
lea ecx, [ecx*4 - 4]
cmovg ecx, edx
movzx eax, word [ecx + eax]
mov word [esi + 0x17a], ax
mov ecx, edi
mov edx, ebx
movss xmm0, dword [esi + 0x11c]
movaps xmm1, xmmword [esi + 0x1f0]
lea eax, [esi + 0x1e8]
push eax
lea eax, [esi + 0x1ec]
push eax
lea eax, [esi + 0x18c]
push eax
lea eax, [esi + 0x190]
push eax
call fcn.100c14b0
add esp, 0x10
mov ecx, dword [esi + 0x128]
movzx eax, word [ecx + 2]
mov dword [esi + 0x120], eax
movzx eax, word [ecx]
mov dword [esi + 0x108], eax
mov ecx, dword [esi + 0x12c]
mov edx, dword [esi + 0x168]
movzx eax, word [ecx + edx + 8]
mov dword [esi + 0x60], eax
movzx eax, word [ecx + edx + 0xa]
mov dword [esi + 0xe0], eax
mov ecx, edi
mov dword [esi + 0x20], ebx
mov edx, ebx
lea eax, [esi + 0x194]
push eax
call fcn.100c5690
add esp, 4
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0xb0]
neg eax
mov dword [esi + 0x1cc], eax
mov ecx, dword [esi + 0x120]
lea edi, [ecx + eax]
inc edi
mov eax, dword [esi + 0xd0]
neg eax
mov dword [esi + 0x184], eax
mov ecx, dword [esi + 0x188]
mov edx, dword [esi + 0x20]
movd xmm0, dword [esi + 0x11c]
movdqa xmm1, xmmword [esi + 0x1f0]
push 0
push 0
lea eax, [esi + 0x10c]
push eax
lea eax, [esi + 0x110]
push eax
call fcn.100c14b0
add esp, 0x10
mov dword [esi + 0x104], edi
test edi, edi
je 0x100be15b
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x108]
add eax, ecx
inc eax
mov dword [esi + 0x15c], eax
test eax, eax
je 0x100be15b
mov eax, dword [esi + 0x10c]
mov dword [esi + 0x150], eax
mov eax, dword [esi + 0x110]
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x194]
mov dword [esi + 0xc], eax
mov dword [esi + 0x208], 0
cmp dword [esi + 0x90], 0
jle 0x100be151
xor edi, edi
mov edx, 0
cmp dword [esi + 0x90], 8
jb 0x100bdd9a
mov edx, dword [esi + 0x90]
and edx, 0xfffffff8
mov eax, dword [esi + 0xc]
lea ecx, [eax + 0x6e]
pxor xmm0, xmm0
mov dword [esi + 0x20], edx
pxor xmm1, xmm1
movdqa xmm4, xmmword [0x10152640]
movdqa xmm5, xmmword [0x10149bd0]
nop
movzx ebx, byte [ecx - 0x62]
movzx eax, byte [ecx - 0x46]
movzx edi, byte [ecx - 0x38]
shl edi, 8
or edi, eax
movzx eax, byte [ecx - 0x54]
shl eax, 8
or eax, ebx
movd xmm2, eax
pinsrw xmm2, edi, 1
movzx ebx, byte [ecx - 0x2a]
movzx eax, byte [ecx - 0xe]
movzx edi, byte [ecx]
shl edi, 8
or edi, eax
movzx eax, byte [ecx - 0x1c]
shl eax, 8
or eax, ebx
movd xmm3, eax
pinsrw xmm3, edi, 1
pcmpeqb xmm2, xmm4
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pand xmm2, xmm5
paddd xmm0, xmm2
pcmpeqb xmm3, xmm4
punpcklbw xmm3, xmm3
punpcklwd xmm3, xmm3
pand xmm3, xmm5
paddd xmm1, xmm3
add ecx, 0x70
add edx, 0xfffffff8
jne 0x100bdd00
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edi, xmm1
mov edx, dword [esi + 0x20]
cmp dword [esi + 0x90], edx
je 0x100bddd0
mov ecx, dword [esi + 0x90]
sub ecx, edx
lea eax, [edx + edx]
shl edx, 4
sub edx, eax
mov eax, dword [esi + 0xc]
add eax, edx
add eax, 0xc
nop word cs:[eax + eax]
xor edx, edx
cmp byte [eax], 1
sete dl
add edi, edx
add eax, 0xe
dec ecx
jne 0x100bddc0
mov eax, edi
mov dword [esi + 0xf8], edi
test edi, edi
je 0x100be151
mov eax, dword [esi + 0xf8]
lea eax, [eax*4]
mov dword [esi + 0x458], 7
push eax
call fcn.1009ca00
add esp, 4
mov dword [esi + 0xc8], eax
cmp dword [esi + 0xc8], 0
je 0x100be151
mov eax, dword [esi + 0x120]
sub eax, dword [esi + 0xb0]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0x108]
sub eax, dword [esi + 0xd0]
mov dword [esi + 0xcc], eax
mov ecx, dword [esi + 0x60]
add ecx, dword [esi + 0x14c]
mov eax, dword [esi + 0xe0]
imul eax, dword [esi + 0x14]
add eax, ecx
mov dword [esi + 0xe0], eax
xor eax, eax
mov cl, 1
mov dword [esi + 0x60], 0
xor edi, edi
jmp 0x100bde98
mov edi, ecx
mov eax, dword [esi + 0x208]
sub eax, dword [esi + 0x60]
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0x20]
mov dword [ecx + edx*4], eax
mov al, 1
test byte [esi + 0x70], 1
mov ecx, 0
je 0x100be0bf
mov dword [esi + 0x70], ecx
test al, 1
mov ecx, edi
je 0x100bdec7
mov eax, dword [esi + 0x208]
shl eax, 3
mov dword [esi + 0x458], 7
push eax
call fcn.1009ca00
add esp, 4
mov ecx, eax
test eax, eax
je 0x100be139
mov dword [esi + 0x208], 0
pxor xmm0, xmm0
mov dword [esi + 0x20], 0xffffffff
mov ebx, dword [esi + 0x90]
mov edi, dword [esi + 0xc]
mov dword [esi + 0x5c], ecx
jmp 0x100bdf78
movsx eax, word [edi + 2]
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movsx eax, word [edi]
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
movsx eax, word [edi + 6]
xorps xmm5, xmm5
cvtsi2ss xmm5, eax
movsx eax, word [edi + 4]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
sub esp, 0x14
movss xmm6, dword [esi + 0xe4]
movss dword [esp + 0xc], xmm6
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm4
movss dword [esp], xmm5
mov dword [esp + 0x10], 0
lea edx, [esi + 0x208]
call fcn.100c66d0
mov ecx, dword [esi + 0x5c]
add esp, 0x14
movd xmm0, dword [edi]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
add edi, 0xe
dec ebx
je 0x100bde70
movzx eax, byte [edi + 0xc]
dec eax
cmp eax, 3
mov edx, dword [esi + 0x20]
ja case.default.0x100bdf85
jmp dword [eax*4 + 0x10152770]
mov eax, dword [esi + 0x208]
test edx, edx
js 0x100be08a
sub eax, dword [esi + 0x60]
mov ecx, dword [esi + 0xc8]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x208]
jmp 0x100be08c
movsx eax, word [edi + 2]
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movsx eax, word [edi]
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
movsx eax, word [edi + 0xa]
xorps xmm5, xmm5
cvtsi2ss xmm5, eax
movsx eax, word [edi + 8]
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
movsx eax, word [edi + 6]
xorps xmm7, xmm7
cvtsi2ss xmm7, eax
movsx eax, word [edi + 4]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
movdqa xmm1, xmm0
shufps xmm1, xmm0, 0x55
sub esp, 0x1c
movss dword [esp + 0x10], xmm3
movss dword [esp + 0xc], xmm4
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm6
movss dword [esp], xmm7
movss xmm3, dword [esi + 0xe4]
movss dword [esp + 0x14], xmm3
mov dword [esp + 0x18], 0
lea edx, [esi + 0x208]
call fcn.100c6950
mov ecx, dword [esi + 0x5c]
add esp, 0x1c
jmp 0x100bdf5d
mov eax, dword [esi + 0x208]
mov edx, ecx
lea ecx, [eax + 1]
movd xmm0, dword [edi]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
mov dword [esi + 0x208], ecx
mov ecx, edx
test edx, edx
je case.default.0x100bdf85
movlps qword [ecx + eax*8], xmm0
jmp case.default.0x100bdf85
mov ecx, eax
lea eax, [ecx + 1]
movd xmm0, dword [edi]
mov dword [esi + 0x208], eax
inc edx
mov dword [esi + 0x20], edx
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
mov eax, dword [esi + 0x5c]
test eax, eax
mov dword [esi + 0x60], ecx
je 0x100be0b8
movlps qword [eax + ecx*8], xmm0
mov ecx, eax
jmp case.default.0x100bdf85
test edi, edi
je 0x100be15b
xor ecx, ecx
mov eax, 0
mov edi, dword [esi + 0xf8]
cmp edi, 8
mov edx, dword [esi + 0xc8]
jb 0x100be970
mov eax, edi
and eax, 0xfffffff8
xorps xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
nop word cs:[eax + eax]
movdqu xmm2, xmmword [edx + ecx*4]
paddd xmm0, xmm2
movdqu xmm2, xmmword [edx + ecx*4 + 0x10]
paddd xmm1, xmm2
add ecx, 8
cmp eax, ecx
jne 0x100be100
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd ecx, xmm1
jmp 0x100be974
push 0
call fcn.1009ca30
add esp, 4
push dword [esi + 0xc8]
call fcn.1009ca30
add esp, 4
mov dword [esi + 0x458], 7
mov eax, dword [esi + 0x194]
mov dword [esi + 0x458], 7
push eax
call fcn.1009ca30
add esp, 4
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x168]
lea edx, [eax + ecx]
add edx, 8
movzx eax, word [edx]
mov ecx, dword [esi + 0xd0]
cmp cl, 2
mov dword [esi + 0x8c], edx
jb 0x100be5e6
mov ecx, dword [esi + 0x128]
movzx edi, word [ecx + 2]
movzx ecx, word [ecx]
movzx ebx, word [edx + 2]
mov dword [esi + 0x20c], 0
mov dword [esi + 0x208], 0
mov dword [esi + 0x5c], edi
test edi, edi
mov edx, dword [esi + 0x1ac]
je 0x100be5e6
movzx eax, ax
add eax, dword [esi + 0x14c]
imul ebx, dword [esi + 0x14]
add ebx, eax
mov eax, ecx
sub eax, dword [esi + 0xd0]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x184]
add eax, ecx
inc eax
mov dword [esi + 0x70], eax
and eax, 0xfffffffe
mov dword [esi + 0x90], eax
mov eax, ecx
neg eax
mov dword [esi + 0xcc], eax
lea eax, [edx + ecx]
mov dword [esi + 0xc], eax
xor eax, eax
mov edx, ecx
mov edi, ebx
mov dword [esi + 0x60], ecx
jmp 0x100be232
add ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
inc eax
cmp eax, dword [esi + 0x5c]
mov edi, ebx
je 0x100be5dd
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0xd0]
push ebx
push 0
lea eax, [esi + 0x208]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
movzx eax, bl
add eax, 0xfffffffe
cmp eax, 3
mov dword [esi + 0x20], edi
ja case.default.0x100be25f
jmp dword [eax*4 + 0x10152780]
cmp dword [esi + 0x3c], 0
js 0x100be530
xor ecx, ecx
mov edi, 0
cmp dword [esi + 0x60], ebx
mov ebx, dword [esi + 0x20]
je 0x100be303
xor ecx, ecx
xor edx, edx
nop word [eax + eax]
mov eax, edx
and eax, 6
movzx eax, byte [esi + eax + 0x208]
mov dword [esi + 8], eax
lea edi, [edx + 2]
mov dword [esi + 0x40], edi
and edi, 6
movzx eax, byte [ebx + edx]
mov byte [esi + edi + 0x208], al
mov edi, eax
sub edi, dword [esi + 8]
add edi, ecx
mov ecx, edi
shr ecx, 1
mov byte [ebx + edx], cl
lea ecx, [edx + 1]
and ecx, 7
movzx eax, byte [esi + ecx + 0x208]
mov dword [esi + 8], eax
lea ecx, [edx + 3]
and ecx, 7
movzx eax, byte [ebx + edx + 1]
mov byte [esi + ecx + 0x208], al
mov ecx, eax
sub ecx, dword [esi + 8]
add ecx, edi
mov edi, dword [esi + 0x40]
mov eax, ecx
shr eax, 1
mov byte [ebx + edx + 1], al
mov eax, dword [esi + 0x90]
mov edx, edi
cmp eax, edi
jne 0x100be290
mov ebx, edi
mov eax, dword [esi + 0x70]
mov edi, eax
test al, 1
je 0x100be534
mov eax, dword [esi + 0x20]
movzx edx, byte [eax + ebx]
mov eax, ebx
and eax, 7
movzx eax, byte [esi + eax + 0x208]
lea edi, [ebx + 2]
and edi, 7
mov byte [esi + edi + 0x208], dl
sub edx, eax
add ecx, edx
mov eax, ecx
shr eax, 1
mov edx, dword [esi + 0x20]
mov byte [edx + ebx], al
jmp 0x100be522
cmp dword [esi + 0x3c], 0
js 0x100be530
xor ecx, ecx
mov eax, 0
cmp dword [esi + 0x60], ebx
je 0x100be3dd
xor ecx, ecx
xor eax, eax
nop word [eax + eax]
movzx edx, byte [edi + eax]
mov edi, eax
and edi, 6
movzx edi, byte [esi + edi + 0x208]
lea ebx, [eax + 4]
and ebx, 6
mov byte [esi + ebx + 0x208], dl
sub edx, edi
add edx, ecx
mov ecx, edx
shr ecx, 2
mov edi, dword [esi + 0x20]
mov byte [edi + eax], cl
lea edi, [eax + 1]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [ecx + eax + 1]
and edi, 7
movzx edi, byte [esi + edi + 0x208]
lea ebx, [eax + 5]
and ebx, 7
mov byte [esi + ebx + 0x208], cl
sub ecx, edi
mov edi, dword [esi + 0x20]
add ecx, edx
mov edx, ecx
shr edx, 2
mov byte [edi + eax + 1], dl
mov edx, dword [esi + 0x90]
add eax, 2
cmp edx, eax
jne 0x100be370
mov edx, dword [esi + 0x70]
mov edi, edx
test dl, 1
je 0x100be534
mov edx, dword [esi + 0x20]
movzx edx, byte [edx + eax]
mov edi, eax
and edi, 7
movzx edi, byte [esi + edi + 0x208]
lea ebx, [eax + 4]
and ebx, 7
mov byte [esi + ebx + 0x208], dl
sub edx, edi
add ecx, edx
mov edx, ecx
shr edx, 2
mov edi, dword [esi + 0x20]
mov byte [edi + eax], dl
jmp 0x100be522
cmp dword [esi + 0x3c], 0
js 0x100be530
xor ecx, ecx
xor edi, edi
nop
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x208]
lea ebx, [edi + 3]
and ebx, 7
mov byte [esi + ebx + 0x208], al
sub eax, edx
add ecx, eax
mov eax, ecx
mov edx, 0xaaaaaaab
mul edx
mov eax, dword [esi + 0x70]
shr edx, 1
mov ebx, dword [esi + 0x20]
mov byte [ebx + edi], dl
inc edi
cmp eax, edi
jne 0x100be430
mov edi, eax
jmp 0x100be534
cmp dword [esi + 0x3c], 0
js 0x100be530
xor ecx, ecx
xor edi, edi
nop
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x208]
lea ebx, [edi + 5]
and ebx, 7
mov byte [esi + ebx + 0x208], al
sub eax, edx
add ecx, eax
mov eax, ecx
mov edx, 0xcccccccd
mul edx
shr edx, 2
mov eax, dword [esi + 0x20]
mov byte [eax + edi], dl
inc edi
cmp dword [esi + 0xc], edi
jne 0x100be490
jmp 0x100be522
cmp dword [esi + 0x3c], 0
js 0x100be530
xor ecx, ecx
xor edi, edi
nop dword [eax]
mov eax, dword [esi + 0x20]
movzx eax, byte [eax + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x208]
mov ebx, dword [esi + 0xd0]
add ebx, edi
and ebx, 7
mov byte [esi + ebx + 0x208], al
mov ebx, dword [esi + 0xd0]
sub eax, edx
add ecx, eax
mov eax, ecx
xor edx, edx
div ebx
mov edx, dword [esi + 0x20]
mov byte [edx + edi], al
inc edi
cmp dword [esi + 0x70], edi
jne 0x100be4e0
mov edi, dword [esi + 0x70]
jmp 0x100be534
xor edi, edi
xor ecx, ecx
mov eax, dword [esi + 0x60]
sub eax, edi
mov ebx, dword [esi + 0x20]
jle 0x100be220
test al, 1
jne 0x100be550
mov ebx, edi
jmp 0x100be574
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xd0]
mov ebx, edi
mov edi, dword [esi + 0x20]
mov byte [edi + ebx], al
lea edi, [ebx + 1]
not ebx
cmp ebx, dword [esi + 0xcc]
mov ebx, dword [esi + 0x20]
je 0x100be220
nop word cs:[eax + eax]
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
mov ebx, dword [esi + 0xd0]
div ebx
mov edx, dword [esi + 0x20]
mov byte [edx + edi], al
lea eax, [edi + 1]
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
div ebx
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x60]
mov byte [ebx + edi + 1], al
add edi, 2
cmp edx, edi
jne 0x100be590
jmp 0x100be220
mov eax, dword [esi + 0x8c]
movzx eax, word [eax]
mov edi, dword [esi + 0xb0]
cmp byte [esi + 0xff], 2
jb 0x100bd93b
mov edx, dword [esi + 0x128]
movzx ecx, word [edx + 2]
mov dword [esi + 0x90], ecx
movzx ecx, word [edx]
mov edx, dword [esi + 0x8c]
movzx ebx, word [edx + 2]
mov dword [esi + 0x20c], 0
mov dword [esi + 0x208], 0
mov dword [esi + 0x10], ecx
test ecx, ecx
je 0x100bd93b
movzx eax, ax
add eax, dword [esi + 0x14c]
imul ebx, dword [esi + 0x14]
add ebx, eax
mov edx, dword [esi + 0x90]
mov eax, edx
sub eax, edi
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x1cc]
add eax, edx
inc eax
mov dword [esi + 0x3c], eax
mov eax, edx
neg eax
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0x1a0]
add eax, edx
mov dword [esi + 0x20], eax
xor eax, eax
jmp 0x100be697
mov ebx, dword [esi + 0x40]
inc ebx
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0x10]
mov edi, dword [esi + 0xb0]
je 0x100bd932
mov dword [esi + 8], eax
push edi
push 0
lea eax, [esi + 0x208]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [edi - 2]
cmp eax, 3
mov dword [esi + 0x40], ebx
ja case.default.0x100be6bb
jmp dword [eax*4 + 0x10152790]
cmp dword [esi + 0x5c], 0
js 0x100be8a0
xor ecx, ecx
mov eax, ebx
xor edx, edx
nop word cs:[eax + eax]
movzx ebx, byte [eax]
mov edi, edx
and edi, 7
movzx edi, byte [esi + edi + 0x208]
mov dword [esi + 0x60], edi
lea edi, [edx + 2]
and edi, 7
mov byte [esi + edi + 0x208], bl
sub ebx, dword [esi + 0x60]
add ecx, ebx
mov ebx, ecx
shr ebx, 1
mov byte [eax], bl
inc edx
add eax, dword [esi + 0x14]
cmp dword [esi + 0x20], edx
jne 0x100be6e0
jmp 0x100be890
cmp dword [esi + 0x5c], 0
js 0x100be8a0
xor ecx, ecx
mov eax, ebx
xor edx, edx
movzx ebx, byte [eax]
mov edi, edx
and edi, 7
movzx edi, byte [esi + edi + 0x208]
mov dword [esi + 0x60], edi
lea edi, [edx + 4]
and edi, 7
mov byte [esi + edi + 0x208], bl
sub ebx, dword [esi + 0x60]
add ecx, ebx
mov ebx, ecx
shr ebx, 2
mov byte [eax], bl
inc edx
add eax, dword [esi + 0x14]
cmp dword [esi + 0x20], edx
jne 0x100be730
jmp 0x100be890
cmp dword [esi + 0x5c], 0
js 0x100be8a0
xor ecx, ecx
xor edi, edi
nop
mov dword [esi + 0x70], ebx
mov eax, dword [esi + 0x70]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
mov edx, dword [esi + 0x60]
sub edx, eax
add ecx, edx
mov eax, ecx
mov edx, 0xaaaaaaab
mul edx
lea eax, [edi + 3]
and eax, 7
mov ebx, dword [esi + 0x60]
mov byte [esi + eax + 0x208], bl
mov ebx, dword [esi + 0x70]
shr edx, 1
mov byte [ebx], dl
inc edi
add ebx, dword [esi + 0x14]
cmp dword [esi + 0x20], edi
jne 0x100be780
jmp 0x100be890
cmp dword [esi + 0x5c], 0
js 0x100be8a0
xor ecx, ecx
xor edi, edi
nop
mov dword [esi + 0x70], ebx
mov eax, dword [esi + 0x70]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
mov edx, dword [esi + 0x60]
sub edx, eax
add ecx, edx
mov eax, ecx
mov edx, 0xcccccccd
mul edx
lea eax, [edi + 5]
and eax, 7
mov ebx, dword [esi + 0x60]
mov byte [esi + eax + 0x208], bl
mov ebx, dword [esi + 0x70]
shr edx, 2
mov byte [ebx], dl
inc edi
add ebx, dword [esi + 0x14]
cmp dword [esi + 0x20], edi
jne 0x100be7e0
jmp 0x100be890
cmp dword [esi + 0x5c], 0
js 0x100be8a0
xor ecx, ecx
mov edi, ebx
xor ebx, ebx
nop dword [eax + eax]
movzx eax, byte [edi]
mov dword [esi + 0x70], eax
mov edx, ebx
and edx, 7
movzx edx, byte [esi + edx + 0x208]
mov dword [esi + 0x60], edx
mov eax, dword [esi + 0xb0]
lea edx, [eax + ebx]
and edx, 7
mov eax, dword [esi + 0x70]
mov byte [esi + edx + 0x208], al
sub eax, dword [esi + 0x60]
add ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xb0]
mov byte [edi], al
inc ebx
add edi, dword [esi + 0x14]
cmp dword [esi + 0x20], ebx
jne 0x100be840
nop word cs:[eax + eax]
mov ebx, dword [esi + 0x3c]
jmp 0x100be8a4
xor ebx, ebx
xor ecx, ecx
mov eax, dword [esi + 0x90]
sub eax, ebx
jle 0x100be680
test al, 1
jne 0x100be8c0
mov edi, ebx
jmp 0x100be8e8
mov eax, ebx
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xb0]
mov edx, ebx
imul edx, dword [esi + 0x14]
mov edi, dword [esi + 0x40]
mov byte [edi + edx], al
lea edi, [ebx + 1]
not ebx
cmp ebx, dword [esi + 0xcc]
je 0x100be680
lea edx, [edi + 1]
mov eax, dword [esi + 0x14]
imul edx, eax
mov dword [esi + 0x70], edx
imul eax, edi
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x40]
nop dword [eax + eax]
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov dword [esi + 0x60], ecx
mov eax, ecx
xor edx, edx
div dword [esi + 0xb0]
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0xc]
mov byte [ebx + edx], al
lea eax, [edi + 1]
and eax, 7
movzx eax, byte [esi + eax + 0x208]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xb0]
mov edx, dword [esi + 0x70]
mov byte [ebx + edx], al
mov edx, dword [esi + 0x90]
add edi, 2
add ebx, dword [esi + 0x18]
cmp edx, edi
jne 0x100be910
jmp 0x100be680
add ecx, dword [edx + eax*4]
inc eax
cmp edi, eax
jne 0x100be970
lea eax, [ecx + ecx*4]
lea eax, [eax*4 + 0x14]
mov dword [esi + 0x458], 7
push eax
call fcn.1009ca00
add esp, 4
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x5c]
cmp dword [esi + 0x8c], 0
je 0x100c0419
add eax, 4
mov dword [esi + 0xf0], eax
mov dword [esi + 0x90], 0
xor ecx, ecx
xor edx, edx
pxor xmm1, xmm1
movss xmm2, dword [esi + 0x11c]
movaps xmm3, xmmword [esi + 0x410]
jmp 0x100be9f6
mov edx, dword [esi + 0x3c]
add edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x10]
inc ecx
cmp ecx, dword [esi + 0xf8]
je 0x100beb20
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x10], ecx
mov ebx, dword [eax + ecx*4]
test ebx, ebx
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x3c], edx
mov dword [esi + 0x1c], ebx
jle 0x100be9e0
lea eax, [eax + edx*8]
mov dword [esi + 0x60], eax
lea edi, [ebx - 1]
mov eax, dword [esi + 0xf0]
lea eax, [eax + edx*8]
mov dword [esi + 0x70], eax
xor edx, edx
jmp 0x100beac4
mov ecx, ebx
mov ebx, dword [esi + 0x20]
lea edx, [ecx + ebx*4]
add edx, 0x10
mov dword [edx], 1
mov dword [esi + 0xc], edi
mov edi, eax
lea ecx, [ecx + ebx*4]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0xc]
movss xmm0, dword [edx + ecx*8]
mulss xmm0, xmm2
addss xmm0, xmm1
mov ebx, dword [esi + 0x40]
movss dword [ebx], xmm0
movss xmm0, dword [edx + ecx*8 + 4]
mulss xmm0, xmm3
addss xmm0, xmm1
mov ecx, dword [esi + 0x8c]
mov ebx, dword [esi + 0x20]
movss dword [ecx + ebx*4 + 4], xmm0
movss xmm0, dword [edx + edi*8]
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [ecx + ebx*4 + 8], xmm0
movss xmm0, dword [edx + edi*8 + 4]
mulss xmm0, xmm3
addss xmm0, xmm1
movss dword [ecx + ebx*4 + 0xc], xmm0
inc dword [esi + 0x90]
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0x10]
mov ebx, dword [ecx + edx*4]
lea edx, [eax + 1]
mov edi, eax
cmp edx, ebx
jge 0x100be9e0
mov eax, edx
mov edx, dword [esi + 0x60]
movss xmm0, dword [edx + edi*8 + 4]
mov ecx, dword [esi + 0x70]
ucomiss xmm0, dword [ecx + eax*8]
jne 0x100beada
jnp 0x100beab7
mov ebx, dword [esi + 0x90]
mov dword [esi + 8], eax
lea eax, [ebx + ebx*4]
mov dword [esi + 0x20], eax
mov ebx, dword [esi + 0x8c]
mov eax, dword [esi + 0x20]
mov dword [ebx + eax*4 + 0x10], 0
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x8c]
movss xmm0, dword [edx + edi*8 + 4]
ucomiss xmm0, dword [ecx + eax*8]
ja 0x100bea2b
mov ecx, ebx
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x20]
jmp 0x100bea41
mov ecx, dword [esi + 0x8c]
mov ebx, dword [esi + 0x90]
mov edx, ebx
call fcn.100c6c20
cmp ebx, 2
mov dword [esi + 0x90], ebx
jl 0x100bebfa
mov eax, 1
mov edi, dword [esi + 0x8c]
jmp 0x100beb5f
inc eax
mov edi, dword [esi + 0x20]
add edi, 0x14
cmp eax, ebx
je 0x100bebfa
lea edx, [eax + eax*4]
mov ecx, dword [esi + 0x8c]
movsd xmm0, qword [ecx + edx*4]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mov ebx, edi
mov edi, dword [ecx + edx*4 + 0x10]
mov dword [esi + 0x210], edi
movsd xmm2, qword [ecx + edx*4 + 8]
movsd qword [esi + 0x208], xmm2
mov dword [esi + 0x20], ebx
mov edi, ebx
mov edx, eax
nop word cs:[eax + eax]
movss xmm2, dword [edi + 4]
ucomiss xmm2, xmm1
jbe 0x100bebc6
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 0x100beba0
xor edx, edx
mov ebx, dword [esi + 0x90]
cmp eax, edx
je 0x100beb50
lea ecx, [edx + edx*4]
mov edi, dword [esi + 0x8c]
movlps qword [edi + ecx*4], xmm0
movsd xmm0, qword [esi + 0x208]
movsd qword [edi + ecx*4 + 8], xmm0
mov edx, dword [esi + 0x210]
mov dword [edi + ecx*4 + 0x10], edx
jmp 0x100beb50
mov dword [esi + 0xe8], 0
lea eax, [esi + 0x208]
mov dword [esi + 0x1c], eax
cmp dword [esi + 0xcc], 0x40
mov ecx, dword [esi + 0x15c]
jl 0x100bec45
lea eax, [ecx*8 + 4]
mov dword [esi + 0x458], 7
push eax
call fcn.1009ca00
add esp, 4
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x15c]
mov ebx, dword [esi + 0x90]
mov edx, dword [esi + 0x150]
mov eax, dword [esi + 0x104]
add eax, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
addss xmm0, dword [0x10147700]
lea eax, [ebx + ebx*4]
mov edi, dword [esi + 0x8c]
movss dword [edi + eax*4 + 4], xmm0
cmp dword [esi + 0x120], 0x7ffffffe
mov ebx, dword [esi + 0xe0]
ja 0x100c03eb
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x124]
movss dword [esi + 0x154], xmm0
mov edi, dword [esi + 0x1c]
lea eax, [edi + ecx*4]
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movss dword [esi + 0xf8], xmm0
mov dword [esi + 0x148], eax
add eax, 4
mov dword [esi + 0x140], eax
lea eax, [ecx*4]
mov dword [esi + 0x1a8], eax
mov eax, dword [esi + 0x198]
mov edx, dword [esi + 0x108]
lea eax, [eax + edx*4]
add eax, edi
mov dword [esi + 0x108], eax
lea eax, [ecx*4 + 4]
mov dword [esi + 0x1a4], eax
mov dword [esi + 0x118], 0
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x104], eax
mov edx, dword [esi + 0x150]
mov eax, edi
mov dword [esi + 0x158], 0
mov dword [esi + 0x124], 0
xor edi, edi
mov dword [esi + 0xf0], 0
jmp 0x100bed58
mov edx, dword [esi + 0x1b8]
inc edx
add ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x158]
cmp eax, dword [esi + 0x120]
lea eax, [eax + 1]
mov dword [esi + 0x158], eax
mov eax, dword [esi + 0x1c]
je 0x100c03af
mov dword [esi + 0xe0], ebx
mov dword [esi + 0x1b8], edx
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
movss dword [esi + 0xc], xmm0
addss xmm0, dword [0x10147700]
movss dword [esi + 8], xmm0
push dword [esi + 0x1a8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esi + 0x1a4]
push 0
push dword [esi + 0x148]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ebx, dword [esi + 0x118]
test ebx, ebx
je 0x100bee10
lea eax, [esi + 0xe8]
xorps xmm3, xmm3
movss xmm2, dword [esi + 0x154]
movss xmm0, dword [esi + 0xc]
movss xmm5, dword [esi + 8]
mov edx, dword [esi + 0x104]
jmp 0x100bedfb
mov ecx, dword [ebx]
mov dword [eax], ecx
mov edx, dword [esi + 0x104]
mov dword [ebx + 0x10], 0
mov dword [ebx], edi
mov edi, ebx
mov ebx, dword [eax]
test ebx, ebx
je 0x100bee26
ucomiss xmm0, dword [ebx + 0x18]
jae 0x100bede0
mov eax, ebx
jmp 0x100bedf5
xorps xmm3, xmm3
movss xmm2, dword [esi + 0x154]
movss xmm5, dword [esi + 8]
mov edx, dword [esi + 0x104]
movss xmm0, dword [edx + 4]
ucomiss xmm5, xmm0
jae 0x100c01e0
mov dword [esi + 0x104], edx
mov dword [esi + 0x1b4], edi
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x118], eax
test eax, eax
je 0x100c0110
movss xmm0, dword [esi + 8]
subss xmm0, dword [esi + 0xc]
movss dword [esi + 0x13c], xmm0
mov eax, dword [esi + 0x118]
jmp 0x100beefd
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movaps xmm3, xmmword [esi + 0x20]
mulss xmm3, xmm1
addss xmm3, xmm7
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
subss xmm2, xmm1
movaps xmm1, xmm4
subss xmm1, xmm3
addss xmm2, dword [0x10147b30]
mulss xmm2, dword [0x1014776c]
addss xmm2, dword [0x10147700]
movss xmm3, dword [esi + 0x60]
mulss xmm2, xmm3
mulss xmm1, xmm2
addss xmm1, xmm6
addss xmm1, dword [edx + ebx*4]
movss dword [edx + ebx*4], xmm1
subss xmm4, xmm0
mulss xmm4, xmm3
mov edx, dword [esi + 0x140]
addss xmm4, dword [edx + ebx*4]
movss dword [edx + ebx*4], xmm4
nop word cs:[eax + eax]
mov eax, dword [eax]
test eax, eax
xorps xmm3, xmm3
je 0x100c0110
movss xmm2, dword [eax + 4]
movss xmm4, dword [eax + 8]
ucomiss xmm4, xmm3
movaps xmmword [esi + 0x40], xmm2
jne 0x100befe0
jp 0x100befe0
xorps xmm0, xmm0
movss xmm1, dword [esi + 0xf8]
ucomiss xmm1, xmm2
jbe 0x100beef0
movaps xmm1, xmmword [esi + 0x40]
ucomiss xmm1, xmm0
jae 0x100bf117
movss xmm0, dword [esi + 8]
ucomiss xmm0, dword [esi + 0xc]
jne 0x100bef44
jnp 0x100beef0
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm0
ja 0x100beef0
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100beef0
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm2, xmmword [esi + 0x40]
jbe 0x100bef92
movaps xmm4, xmmword [esi + 0x40]
movaps xmm3, xmm4
subss xmm3, xmm4
movaps xmm2, xmm1
subss xmm2, dword [esi + 0xc]
mulss xmm2, xmm3
divss xmm2, dword [esi + 0x13c]
addss xmm2, xmm4
movaps xmm3, xmm1
movss xmm6, dword [esi + 8]
ucomiss xmm6, xmm0
xorps xmm5, xmm5
jbe 0x100bff18
movaps xmm7, xmmword [esi + 0x40]
movaps xmm1, xmm7
subss xmm1, xmm2
movaps xmm4, xmm0
subss xmm4, xmm6
mulss xmm4, xmm1
movaps xmm1, xmm6
subss xmm1, xmm3
divss xmm4, xmm1
addss xmm7, xmm4
movaps xmmword [esi + 0x40], xmm7
ucomiss xmm5, xmm2
jae 0x100bff24
jmp 0x100c001f
movaps xmm0, xmm4
addss xmm0, xmm2
movaps xmmword [esi + 0x70], xmm0
movss xmm0, dword [eax + 0x14]
movaps xmm1, xmm0
movss xmm6, dword [esi + 0xc]
subss xmm1, xmm6
movss dword [esi + 0x3c], xmm4
mulss xmm1, xmm4
addss xmm1, xmm2
cmpltss xmm6, xmm0
andps xmm1, xmm6
andnps xmm6, xmm2
orps xmm6, xmm1
ucomiss xmm6, xmm3
jb 0x100bf0f0
movss xmm4, dword [eax + 0x18]
movaps xmm1, xmm4
subss xmm1, dword [esi + 0xc]
mulss xmm1, dword [esi + 0x3c]
addss xmm1, dword [esi + 0x40]
movaps xmm5, xmm4
cmpltss xmm5, dword [esi + 8]
movaps xmm2, xmm5
andps xmm5, xmm1
andnps xmm2, xmmword [esi + 0x70]
orps xmm5, xmm2
ucomiss xmm5, xmm3
jb 0x100bf0f0
movss xmm1, dword [esi + 0xf8]
ucomiss xmm1, xmm6
jbe 0x100bf0f0
movss xmm1, dword [esi + 0xf8]
ucomiss xmm1, xmm5
jbe 0x100bf0f0
movss xmm3, dword [esi + 0xc]
maxss xmm0, xmm3
cvttss2si edi, xmm6
minss xmm4, dword [esi + 8]
cvttss2si ecx, xmm5
cmp edi, ecx
jne 0x100bfdca
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
subss xmm6, xmm1
subss xmm5, xmm1
addss xmm5, xmm6
mulss xmm5, dword [0x1014776c]
addss xmm5, dword [0x10147700]
mulss xmm5, dword [eax + 0x10]
subss xmm4, xmm0
mulss xmm5, xmm4
mov ecx, dword [esi + 0x1c]
addss xmm5, dword [ecx + edi*4]
movss dword [ecx + edi*4], xmm5
mulss xmm4, dword [eax + 0x10]
mov ecx, dword [esi + 0x140]
addss xmm4, dword [ecx + edi*4]
movss dword [ecx + edi*4], xmm4
jmp 0x100beef0
cmp dword [esi + 0xcc], 0x7ffffffe
ja 0x100beef0
movaps xmm0, xmmword [esi + 0x70]
subss xmm0, dword [esi + 0x40]
movaps xmmword [esi + 0x430], xmm0
xor ecx, ecx
jmp 0x100bf21c
movss xmm0, dword [esi + 8]
ucomiss xmm0, dword [esi + 0xc]
jne 0x100bf128
jnp 0x100beef0
cvttss2si ecx, dword [esi + 0x40]
movss xmm4, dword [eax + 0x18]
movss xmm0, dword [esi + 0xc]
ucomiss xmm0, xmm4
ja 0x100bff94
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100bff94
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm5, xmmword [esi + 0x40]
movaps xmm0, xmm5
jbe 0x100bf182
movaps xmm2, xmm5
subss xmm2, xmm5
movaps xmm0, xmm1
subss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
divss xmm0, dword [esi + 0x13c]
addss xmm0, xmm5
movaps xmm3, xmm1
movss xmm6, dword [esi + 8]
ucomiss xmm6, xmm4
movaps xmm2, xmm5
movaps xmm5, xmm6
jbe 0x100bf1ba
movaps xmm5, xmmword [esi + 0x40]
movaps xmm1, xmm5
subss xmm1, xmm0
movaps xmm2, xmm4
subss xmm2, xmm6
mulss xmm2, xmm1
movaps xmm1, xmm6
subss xmm1, xmm3
divss xmm2, xmm1
addss xmm2, xmm5
movaps xmm5, xmm4
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
ucomiss xmm1, xmm0
jb 0x100bff4a
ucomiss xmm1, xmm2
jb 0x100bff4a
subss xmm5, xmm3
mulss xmm5, dword [eax + 0x10]
mov edx, dword [esi + 0x1c]
addss xmm5, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm5
jmp 0x100bff94
subss xmm1, xmm0
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
nop word cs:[eax + eax]
cmp edx, dword [esi + 0xcc]
je 0x100beef0
mov edx, ecx
xorps xmm5, xmm5
cvtsi2ss xmm5, ecx
inc ecx
xorps xmm6, xmm6
cvtsi2ss xmm6, ecx
movaps xmm0, xmm5
movaps xmm3, xmmword [esi + 0x40]
subss xmm0, xmm3
movaps xmm7, xmm0
movss xmm4, dword [esi + 0x3c]
divss xmm7, xmm4
movss xmm1, dword [esi + 0xc]
addss xmm7, xmm1
movss dword [esi + 0x60], xmm7
movaps xmm7, xmm6
subss xmm7, xmm3
movaps xmm2, xmm7
divss xmm7, xmm4
addss xmm7, xmm1
movss dword [esi + 0x90], xmm7
movss dword [esi + 0x20], xmm5
ucomiss xmm5, xmm3
movss dword [esi + 0x10], xmm6
jbe 0x100bf370
movaps xmm4, xmmword [esi + 0x70]
ucomiss xmm4, xmm6
jbe 0x100bf370
movss xmm6, dword [esi + 0x60]
ucomiss xmm6, xmm1
movss xmm7, dword [esi + 0x90]
jne 0x100bf2a4
jnp 0x100bf6e0
movss xmm3, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm3
ja 0x100bf6e0
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm6
ja 0x100bf6e0
movss xmm6, dword [esi + 0xc]
ucomiss xmm1, xmm6
movaps xmm2, xmmword [esi + 0x40]
movaps xmm4, xmm6
jbe 0x100bf2fe
movaps xmm6, xmm1
movss xmm2, dword [esi + 0xc]
subss xmm6, xmm2
mulss xmm0, xmm6
movss xmm6, dword [esi + 0x60]
subss xmm6, xmm2
divss xmm0, xmm6
addss xmm0, dword [esi + 0x40]
movaps xmm2, xmm0
movaps xmm4, xmm1
movss xmm6, dword [esi + 0x60]
ucomiss xmm6, xmm3
movss xmm5, dword [esi + 0x20]
movaps xmm1, xmm6
jbe 0x100bf339
movss xmm0, dword [esi + 0x20]
movaps xmm1, xmm0
subss xmm1, xmm2
movaps xmm5, xmm3
subss xmm5, xmm6
mulss xmm5, xmm1
movaps xmm1, xmm6
subss xmm1, xmm4
divss xmm5, xmm1
addss xmm5, xmm0
movaps xmm1, xmm3
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm2
jb 0x100bf68b
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm5
jb 0x100bf68b
subss xmm1, xmm4
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
jmp 0x100bf6e0
movss xmm5, dword [esi + 0x20]
ucomiss xmm5, dword [esi + 0x70]
jbe 0x100bf470
ucomiss xmm3, xmm6
jbe 0x100bf470
movss xmm5, dword [esi + 0x90]
ucomiss xmm5, xmm1
jne 0x100bf39b
jnp 0x100bfa70
movss xmm3, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm3
ja 0x100bfa70
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm5
ja 0x100bfa70
movss xmm5, dword [esi + 0xc]
ucomiss xmm1, xmm5
movaps xmm7, xmmword [esi + 0x40]
jbe 0x100bf3f5
movaps xmm5, xmm1
movss xmm0, dword [esi + 0xc]
subss xmm5, xmm0
mulss xmm2, xmm5
movss xmm5, dword [esi + 0x90]
subss xmm5, xmm0
divss xmm2, xmm5
addss xmm2, dword [esi + 0x40]
movaps xmm7, xmm2
movaps xmm5, xmm1
movss xmm4, dword [esi + 0x90]
ucomiss xmm4, xmm3
movss xmm0, dword [esi + 0x10]
movaps xmm6, xmm0
movaps xmm1, xmm4
jbe 0x100bf431
movaps xmm1, xmm0
subss xmm1, xmm7
movaps xmm6, xmm3
subss xmm6, xmm4
mulss xmm6, xmm1
movaps xmm1, xmm4
subss xmm1, xmm5
divss xmm6, xmm1
addss xmm6, xmm0
movaps xmm1, xmm3
movss xmm3, dword [esi + 0x20]
ucomiss xmm3, xmm7
jb 0x100bfa20
movss xmm3, dword [esi + 0x20]
ucomiss xmm3, xmm6
jb 0x100bfa20
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
movss xmm5, dword [esi + 0x90]
jmp 0x100bfa70
movss xmm5, dword [esi + 0x20]
ucomiss xmm5, xmm3
jbe 0x100bf484
movaps xmm4, xmmword [esi + 0x70]
ucomiss xmm4, dword [esi + 0x20]
ja 0x100bf49d
movss xmm5, dword [esi + 0x20]
ucomiss xmm5, dword [esi + 0x70]
jbe 0x100bf580
ucomiss xmm3, dword [esi + 0x20]
jbe 0x100bf580
movss xmm2, dword [esi + 0x60]
ucomiss xmm2, xmm1
jne 0x100bf4ad
jnp 0x100bfc50
movss xmm5, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm5
ja 0x100bfc50
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm2
ja 0x100bfc50
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm6, xmmword [esi + 0x40]
movaps xmm4, xmm3
jbe 0x100bf507
movaps xmm3, xmm1
movss xmm6, dword [esi + 0xc]
subss xmm3, xmm6
mulss xmm0, xmm3
movss xmm3, dword [esi + 0x60]
subss xmm3, xmm6
divss xmm0, xmm3
addss xmm0, dword [esi + 0x40]
movaps xmm6, xmm0
movaps xmm4, xmm1
movss xmm1, dword [esi + 0x60]
ucomiss xmm1, xmm5
movss xmm3, dword [esi + 0x20]
jbe 0x100bf544
movss xmm0, dword [esi + 0x20]
movaps xmm1, xmm0
subss xmm1, xmm6
movaps xmm3, xmm5
movss xmm2, dword [esi + 0x60]
subss xmm3, xmm2
mulss xmm3, xmm1
movaps xmm1, xmm2
subss xmm1, xmm4
divss xmm3, xmm1
addss xmm3, xmm0
movaps xmm1, xmm5
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm6
jb 0x100bfc04
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, xmm3
jb 0x100bfc04
subss xmm1, xmm4
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
movss xmm2, dword [esi + 0x60]
jmp 0x100bfc50
ucomiss xmm6, xmm3
jbe 0x100bf58e
movaps xmm0, xmmword [esi + 0x70]
ucomiss xmm0, xmm6
ja 0x100bf5a1
ucomiss xmm6, dword [esi + 0x70]
jbe 0x100bf90d
ucomiss xmm3, xmm6
jbe 0x100bf90d
movss xmm7, dword [esi + 0x90]
ucomiss xmm7, xmm1
jne 0x100bf5b4
jnp 0x100bf800
movss xmm5, dword [eax + 0x18]
movss xmm0, dword [esi + 0xc]
ucomiss xmm0, xmm5
ja 0x100bf800
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, xmm7
ja 0x100bf800
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm0, xmmword [esi + 0x40]
movaps xmm4, xmm3
jbe 0x100bf611
movaps xmm0, xmm1
movss xmm3, dword [esi + 0xc]
subss xmm0, xmm3
mulss xmm2, xmm0
movss xmm0, dword [esi + 0x90]
subss xmm0, xmm3
divss xmm2, xmm0
addss xmm2, dword [esi + 0x40]
movaps xmm0, xmm2
movaps xmm4, xmm1
movss xmm1, dword [esi + 0x90]
ucomiss xmm1, xmm5
movss xmm3, dword [esi + 0x10]
movaps xmm6, xmm1
jbe 0x100bf64c
movss xmm6, dword [esi + 0x10]
movaps xmm7, xmm6
subss xmm7, xmm0
movaps xmm3, xmm5
subss xmm3, xmm1
mulss xmm3, xmm7
subss xmm1, xmm4
divss xmm3, xmm1
addss xmm3, xmm6
movaps xmm6, xmm5
movss xmm1, dword [esi + 0x20]
ucomiss xmm1, xmm0
jb 0x100bfd72
movss xmm1, dword [esi + 0x20]
ucomiss xmm1, xmm3
jb 0x100bfd72
subss xmm6, xmm4
mulss xmm6, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm6, dword [edi + edx*4]
movss dword [edi + edx*4], xmm6
movss xmm7, dword [esi + 0x90]
jmp 0x100bf800
ucomiss xmm2, dword [esi + 0x10]
jb 0x100bf697
ucomiss xmm5, dword [esi + 0x10]
jae 0x100bf6e0
subss xmm1, xmm4
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm2, xmm0
subss xmm5, xmm0
addss xmm5, xmm2
mulss xmm5, dword [0x1014776c]
addss xmm5, dword [0x10147700]
mulss xmm5, xmm1
mov edi, dword [esi + 0x1c]
addss xmm5, dword [edi + edx*4]
movss dword [edi + edx*4], xmm5
nop word cs:[eax + eax]
ucomiss xmm6, xmm7
jne 0x100bf6eb
jnp 0x100bf800
movss xmm3, dword [eax + 0x18]
ucomiss xmm6, xmm3
ja 0x100bf800
movss xmm5, dword [eax + 0x14]
ucomiss xmm5, xmm7
ja 0x100bf800
ucomiss xmm5, xmm6
movaps xmm4, xmm6
jbe 0x100bf73c
movss xmm0, dword [esi + 0x10]
movaps xmm1, xmm0
movss xmm2, dword [esi + 0x20]
subss xmm1, xmm2
movaps xmm6, xmm5
subss xmm6, xmm4
mulss xmm6, xmm1
movaps xmm1, xmm7
subss xmm1, xmm4
divss xmm6, xmm1
addss xmm6, xmm2
jmp 0x100bf749
movss xmm6, dword [esi + 0x20]
movaps xmm5, xmm4
movss xmm0, dword [esi + 0x10]
ucomiss xmm7, xmm3
movaps xmm1, xmm7
jbe 0x100bf78b
movss xmm2, dword [esi + 0x10]
movaps xmm1, xmm2
subss xmm1, xmm6
movaps xmm0, xmm3
subss xmm0, dword [esi + 0x90]
mulss xmm0, xmm1
movss xmm1, dword [esi + 0x90]
subss xmm1, xmm5
divss xmm0, xmm1
addss xmm0, xmm2
movss xmm7, dword [esi + 0x90]
movaps xmm1, xmm3
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm6
jb 0x100bf7b7
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm0
jb 0x100bf7b7
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
jmp 0x100bf800
ucomiss xmm6, dword [esi + 0x10]
jb 0x100bf7c3
ucomiss xmm0, dword [esi + 0x10]
jae 0x100bf800
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
movss xmm2, dword [esi + 0x20]
subss xmm6, xmm2
subss xmm0, xmm2
addss xmm0, xmm6
mulss xmm0, dword [0x1014776c]
addss xmm0, dword [0x10147700]
mulss xmm0, xmm1
mov edi, dword [esi + 0x1c]
addss xmm0, dword [edi + edx*4]
movss dword [edi + edx*4], xmm0
nop
ucomiss xmm7, dword [esi + 8]
jne 0x100bf80c
jnp 0x100bf210
movss xmm3, dword [eax + 0x18]
ucomiss xmm7, xmm3
ja 0x100bf210
movss xmm0, dword [eax + 0x14]
ucomiss xmm0, dword [esi + 8]
ja 0x100bf210
ucomiss xmm0, xmm7
jbe 0x100bf85f
movaps xmm1, xmmword [esi + 0x70]
movaps xmm2, xmm7
movss xmm7, dword [esi + 0x10]
subss xmm1, xmm7
movaps xmm5, xmm0
subss xmm5, xmm2
mulss xmm5, xmm1
movss xmm6, dword [esi + 8]
movaps xmm1, xmm6
subss xmm1, xmm2
divss xmm5, xmm1
addss xmm5, xmm7
jmp 0x100bf86c
movss xmm5, dword [esi + 0x10]
movaps xmm0, xmm7
movss xmm6, dword [esi + 8]
ucomiss xmm6, xmm3
movaps xmm1, xmm6
movaps xmm6, xmmword [esi + 0x70]
jbe 0x100bf8a5
movaps xmm2, xmmword [esi + 0x70]
movaps xmm1, xmm2
subss xmm1, xmm5
movaps xmm6, xmm3
movss xmm7, dword [esi + 8]
subss xmm6, xmm7
mulss xmm6, xmm1
movaps xmm1, xmm7
subss xmm1, xmm0
divss xmm6, xmm1
addss xmm6, xmm2
movaps xmm1, xmm3
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm5
jb 0x100bf8bd
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm6
jae 0x100bf1ee
ucomiss xmm5, dword [esi + 0x10]
jb 0x100bf8cd
ucomiss xmm6, dword [esi + 0x10]
jae 0x100bf210
subss xmm1, xmm0
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm5, xmm0
subss xmm6, xmm0
addss xmm6, xmm5
mulss xmm6, dword [0x1014776c]
addss xmm6, dword [0x10147700]
mulss xmm6, xmm1
mov edi, dword [esi + 0x1c]
addss xmm6, dword [edi + edx*4]
movss dword [edi + edx*4], xmm6
jmp 0x100bf210
movss xmm0, dword [esi + 8]
ucomiss xmm0, xmm1
jne 0x100bf91d
jnp 0x100bf210
movss xmm6, dword [eax + 0x18]
movss xmm0, dword [esi + 0xc]
ucomiss xmm0, xmm6
ja 0x100bf210
movss xmm0, dword [eax + 0x14]
ucomiss xmm0, dword [esi + 8]
ja 0x100bf210
movaps xmm1, xmm0
movss xmm7, dword [esi + 0xc]
subss xmm1, xmm7
mulss xmm1, dword [esi + 0x430]
divss xmm1, dword [esi + 0x13c]
movaps xmm5, xmm7
cmpltss xmm5, xmm0
andps xmm1, xmm5
movss xmm3, dword [0x10147af4]
andnps xmm5, xmm3
orps xmm5, xmm1
addss xmm5, dword [esi + 0x40]
maxss xmm0, xmm7
movss xmm1, dword [esi + 8]
ucomiss xmm1, xmm6
movaps xmm3, xmmword [esi + 0x70]
jbe 0x100bf9b8
movaps xmm2, xmmword [esi + 0x70]
movaps xmm1, xmm2
subss xmm1, xmm5
movaps xmm3, xmm6
movss xmm7, dword [esi + 8]
subss xmm3, xmm7
mulss xmm3, xmm1
movaps xmm1, xmm7
subss xmm1, xmm0
divss xmm3, xmm1
addss xmm3, xmm2
movaps xmm1, xmm6
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm5
jb 0x100bf9d0
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm3
jae 0x100bf1ee
ucomiss xmm5, dword [esi + 0x10]
jb 0x100bf9e0
ucomiss xmm3, dword [esi + 0x10]
jae 0x100bf210
subss xmm1, xmm0
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm5, xmm0
subss xmm3, xmm0
addss xmm3, xmm5
mulss xmm3, dword [0x1014776c]
addss xmm3, dword [0x10147700]
mulss xmm3, xmm1
mov edi, dword [esi + 0x1c]
addss xmm3, dword [edi + edx*4]
movss dword [edi + edx*4], xmm3
jmp 0x100bf210
movaps xmm2, xmm5
ucomiss xmm7, xmm0
movss xmm5, dword [esi + 0x90]
jb 0x100bfa35
ucomiss xmm6, xmm0
jae 0x100bfa70
subss xmm1, xmm2
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm7, xmm0
subss xmm6, xmm0
addss xmm6, xmm7
mulss xmm6, dword [0x1014776c]
addss xmm6, dword [0x10147700]
mulss xmm6, xmm1
mov edi, dword [esi + 0x1c]
addss xmm6, dword [edi + edx*4]
movss dword [edi + edx*4], xmm6
movss xmm7, dword [esi + 0x60]
ucomiss xmm5, xmm7
jne 0x100bfa80
jnp 0x100bfba0
movaps xmm2, xmm5
movss xmm3, dword [eax + 0x18]
ucomiss xmm5, xmm3
ja 0x100bfba0
movss xmm5, dword [eax + 0x14]
ucomiss xmm5, xmm7
ja 0x100bfba0
ucomiss xmm5, xmm2
jbe 0x100bfad3
movss xmm1, dword [esi + 0x20]
movss xmm0, dword [esi + 0x10]
subss xmm1, xmm0
movaps xmm6, xmm5
subss xmm6, xmm2
mulss xmm6, xmm1
movss xmm7, dword [esi + 0x60]
movaps xmm1, xmm7
subss xmm1, xmm2
divss xmm6, xmm1
addss xmm6, xmm0
jmp 0x100bfae0
movss xmm6, dword [esi + 0x10]
movaps xmm5, xmm2
movss xmm7, dword [esi + 0x60]
ucomiss xmm7, xmm3
movss xmm0, dword [esi + 0x20]
movaps xmm1, xmm7
jbe 0x100bfb1b
movss xmm2, dword [esi + 0x20]
movaps xmm1, xmm2
subss xmm1, xmm6
movaps xmm0, xmm3
movss xmm7, dword [esi + 0x60]
subss xmm0, xmm7
mulss xmm0, xmm1
movaps xmm1, xmm7
subss xmm1, xmm5
divss xmm0, xmm1
addss xmm0, xmm2
movaps xmm1, xmm3
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm6
jb 0x100bfb4c
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm0
jb 0x100bfb4c
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
movss xmm7, dword [esi + 0x60]
jmp 0x100bfba0
ucomiss xmm6, dword [esi + 0x10]
movss xmm7, dword [esi + 0x60]
jb 0x100bfb5d
ucomiss xmm0, dword [esi + 0x10]
jae 0x100bfba0
subss xmm1, xmm5
mulss xmm1, dword [eax + 0x10]
movss xmm2, dword [esi + 0x20]
subss xmm6, xmm2
subss xmm0, xmm2
addss xmm0, xmm6
mulss xmm0, dword [0x1014776c]
addss xmm0, dword [0x10147700]
mulss xmm0, xmm1
mov edi, dword [esi + 0x1c]
addss xmm0, dword [edi + edx*4]
movss dword [edi + edx*4], xmm0
nop dword [eax + eax]
ucomiss xmm7, dword [esi + 8]
jne 0x100bfbac
jnp 0x100bf210
movss xmm3, dword [eax + 0x18]
ucomiss xmm7, xmm3
ja 0x100bf210
movss xmm4, dword [eax + 0x14]
ucomiss xmm4, dword [esi + 8]
ja 0x100bf210
ucomiss xmm4, xmm7
jbe 0x100bfbf7
movaps xmm1, xmmword [esi + 0x70]
movss xmm0, dword [esi + 0x20]
subss xmm1, xmm0
movaps xmm6, xmm4
subss xmm6, xmm7
mulss xmm6, xmm1
movss xmm5, dword [esi + 8]
movaps xmm1, xmm5
subss xmm1, xmm7
jmp 0x100bfca2
movss xmm6, dword [esi + 0x20]
movaps xmm4, xmm7
jmp 0x100bfcb4
ucomiss xmm6, dword [esi + 0x10]
movss xmm2, dword [esi + 0x60]
jb 0x100bfc15
ucomiss xmm3, dword [esi + 0x10]
jae 0x100bfc50
subss xmm1, xmm4
mulss xmm1, dword [eax + 0x10]
movss xmm0, dword [esi + 0x20]
subss xmm6, xmm0
subss xmm3, xmm0
addss xmm3, xmm6
mulss xmm3, dword [0x1014776c]
addss xmm3, dword [0x10147700]
mulss xmm3, xmm1
mov edi, dword [esi + 0x1c]
addss xmm3, dword [edi + edx*4]
movss dword [edi + edx*4], xmm3
ucomiss xmm2, dword [esi + 8]
jne 0x100bfc5c
jnp 0x100bf210
movss xmm3, dword [eax + 0x18]
ucomiss xmm2, xmm3
ja 0x100bf210
movss xmm4, dword [eax + 0x14]
ucomiss xmm4, dword [esi + 8]
ja 0x100bf210
ucomiss xmm4, xmm2
jbe 0x100bfcac
movaps xmm1, xmmword [esi + 0x70]
movss xmm0, dword [esi + 0x20]
subss xmm1, xmm0
movaps xmm6, xmm4
subss xmm6, xmm2
mulss xmm6, xmm1
movss xmm5, dword [esi + 8]
movaps xmm1, xmm5
subss xmm1, xmm2
divss xmm6, xmm1
addss xmm6, xmm0
jmp 0x100bfcb9
movss xmm6, dword [esi + 0x20]
movaps xmm4, xmm2
movss xmm5, dword [esi + 8]
ucomiss xmm5, xmm3
movaps xmm0, xmmword [esi + 0x70]
jbe 0x100bfcef
movaps xmm2, xmmword [esi + 0x70]
movaps xmm1, xmm2
subss xmm1, xmm6
movaps xmm0, xmm3
movss xmm7, dword [esi + 8]
subss xmm0, xmm7
mulss xmm0, xmm1
movaps xmm1, xmm7
subss xmm1, xmm4
divss xmm0, xmm1
addss xmm0, xmm2
movaps xmm5, xmm3
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm6
movss xmm3, dword [esi + 0x10]
jb 0x100bfd23
movss xmm2, dword [esi + 0x20]
ucomiss xmm2, xmm0
jb 0x100bfd23
subss xmm5, xmm4
mulss xmm5, dword [eax + 0x10]
mov edi, dword [esi + 0x1c]
addss xmm5, dword [edi + edx*4]
movss dword [edi + edx*4], xmm5
jmp 0x100bf210
ucomiss xmm6, xmm3
jb 0x100bfd32
ucomiss xmm0, dword [esi + 0x10]
jae 0x100bf210
subss xmm5, xmm4
mulss xmm5, dword [eax + 0x10]
movss xmm2, dword [esi + 0x20]
subss xmm6, xmm2
subss xmm0, xmm2
addss xmm0, xmm6
mulss xmm0, dword [0x1014776c]
addss xmm0, dword [0x10147700]
mulss xmm0, xmm5
mov edi, dword [esi + 0x1c]
addss xmm0, dword [edi + edx*4]
movss dword [edi + edx*4], xmm0
jmp 0x100bf210
ucomiss xmm0, dword [esi + 0x10]
movss xmm7, dword [esi + 0x90]
jb 0x100bfd8a
ucomiss xmm3, dword [esi + 0x10]
jae 0x100bf800
subss xmm6, xmm4
mulss xmm6, dword [eax + 0x10]
movss xmm1, dword [esi + 0x20]
subss xmm0, xmm1
subss xmm3, xmm1
addss xmm3, xmm0
mulss xmm3, dword [0x1014776c]
addss xmm3, dword [0x10147700]
mulss xmm3, xmm6
mov edi, dword [esi + 0x1c]
addss xmm3, dword [edi + edx*4]
movss dword [edi + edx*4], xmm3
jmp 0x100bf800
movss xmm7, dword [eax + 0xc]
ucomiss xmm6, xmm5
mov edx, dword [esi + 0x1c]
jbe 0x100bfe0a
movaps xmm1, xmm3
subss xmm1, xmm0
movss xmm2, dword [esi + 8]
addss xmm1, xmm2
movaps xmm0, xmm3
subss xmm0, xmm4
addss xmm0, xmm2
xorps xmm7, xmmword [0x10146bb0]
mov ebx, edi
movaps xmm4, xmm1
movaps xmm2, xmm6
movaps xmm6, xmm3
movaps xmm1, xmmword [esi + 0x70]
jmp 0x100bfe1b
mov ebx, ecx
mov ecx, edi
movaps xmm2, xmm5
movaps xmm5, xmm6
movaps xmm1, xmmword [esi + 0x40]
movaps xmm6, xmm3
movaps xmm3, xmm7
mov dword [esi + 0x70], ecx
lea edi, [ecx + 1]
xorps xmm7, xmm7
cvtsi2ss xmm7, edi
subss xmm7, xmm1
movaps xmmword [esi + 0x20], xmm3
mulss xmm7, xmm3
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
addss xmm7, xmm6
movss xmm3, dword [eax + 0x10]
subss xmm5, xmm1
movaps xmm6, xmm7
subss xmm6, xmm0
movss dword [esi + 0x60], xmm3
mulss xmm6, xmm3
movss xmm1, dword [0x10147700]
addss xmm5, xmm1
mulss xmm5, dword [0x1014776c]
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 0x100bee71
movaps xmm5, xmmword [esi + 0x20]
movss xmm1, dword [esi + 0x60]
mulss xmm5, xmm1
movaps xmm3, xmm5
mulss xmm3, dword [0x10147680]
mov edx, dword [esi + 0x70]
not edx
add edx, ebx
test dl, 1
je 0x100bfecf
movaps xmm1, xmm3
addss xmm1, xmm6
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x70]
addss xmm1, dword [edx + edi*4 + 4]
movss dword [edx + edi*4 + 4], xmm1
addss xmm6, xmm5
add edi, 2
lea edx, [ebx - 2]
cmp edx, dword [esi + 0x70]
mov edx, dword [esi + 0x1c]
je 0x100bee71
nop
movaps xmm1, xmm3
addss xmm1, xmm6
addss xmm1, dword [edx + edi*4]
movss dword [edx + edi*4], xmm1
addss xmm6, xmm5
movaps xmm1, xmm3
addss xmm1, xmm6
addss xmm1, dword [edx + edi*4 + 4]
movss dword [edx + edi*4 + 4], xmm1
addss xmm6, xmm5
add edi, 2
cmp ebx, edi
jne 0x100bfee0
jmp 0x100bee71
movaps xmm0, xmm6
ucomiss xmm5, xmm2
jb 0x100c001f
ucomiss xmm5, dword [esi + 0x40]
jb 0x100c001f
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
mov ecx, dword [esi + 0x148]
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
jmp 0x100beef0
lea edx, [ecx + 1]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
ucomiss xmm0, xmm4
jb 0x100bff5e
ucomiss xmm2, xmm4
jae 0x100bff94
subss xmm5, xmm3
mulss xmm5, dword [eax + 0x10]
subss xmm0, xmm1
subss xmm2, xmm1
addss xmm2, xmm0
mulss xmm2, dword [0x1014776c]
addss xmm2, dword [0x10147700]
mulss xmm2, xmm5
mov edx, dword [esi + 0x1c]
addss xmm2, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm2
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [esi + 0xc]
ucomiss xmm1, xmm0
ja 0x100beef0
movss xmm1, dword [eax + 0x14]
ucomiss xmm1, dword [esi + 8]
ja 0x100beef0
movss xmm3, dword [esi + 0xc]
ucomiss xmm1, xmm3
movaps xmm2, xmmword [esi + 0x40]
jbe 0x100bffea
movaps xmm4, xmmword [esi + 0x40]
movaps xmm3, xmm4
subss xmm3, xmm4
movaps xmm2, xmm1
subss xmm2, dword [esi + 0xc]
mulss xmm2, xmm3
divss xmm2, dword [esi + 0x13c]
addss xmm2, xmm4
movaps xmm3, xmm1
movss xmm5, dword [esi + 8]
ucomiss xmm5, xmm0
jbe 0x100c006e
movaps xmm6, xmmword [esi + 0x40]
movaps xmm1, xmm6
subss xmm1, xmm2
movaps xmm4, xmm0
subss xmm4, xmm5
mulss xmm4, xmm1
movaps xmm1, xmm5
subss xmm1, xmm3
divss xmm4, xmm1
addss xmm6, xmm4
movaps xmmword [esi + 0x40], xmm6
jmp 0x100c0071
ucomiss xmm2, dword [0x10147700]
jb 0x100c0039
movaps xmm1, xmmword [esi + 0x40]
ucomiss xmm1, dword [0x10147700]
jae 0x100beef0
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
addss xmm2, dword [esi + 0x40]
mulss xmm2, dword [0x1014776c]
addss xmm2, dword [0x10147700]
mulss xmm2, xmm0
mov ecx, dword [esi + 0x148]
addss xmm2, dword [ecx]
movss dword [ecx], xmm2
jmp 0x100beef0
movaps xmm0, xmm5
lea edx, [ecx + 1]
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
ucomiss xmm1, xmm2
jb 0x100c00a4
ucomiss xmm1, dword [esi + 0x40]
jb 0x100c00a4
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
mov edx, dword [esi + 0x140]
addss xmm0, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm0
jmp 0x100beef0
lea edx, [ecx + 2]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
ucomiss xmm2, xmm4
jb 0x100c00c0
movaps xmm5, xmmword [esi + 0x40]
ucomiss xmm5, xmm4
jae 0x100beef0
subss xmm0, xmm3
mulss xmm0, dword [eax + 0x10]
subss xmm2, xmm1
movaps xmm3, xmmword [esi + 0x40]
subss xmm3, xmm1
addss xmm3, xmm2
mulss xmm3, dword [0x1014776c]
addss xmm3, dword [0x10147700]
mulss xmm3, xmm0
mov edx, dword [esi + 0x140]
addss xmm3, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm3
jmp 0x100beef0
cmp dword [esi + 0xcc], 0x7ffffffe
movss xmm2, dword [0x10147680]
movaps xmm3, xmmword [0x10147ac0]
movss xmm4, dword [0x10149668]
mov ecx, dword [esi + 0x15c]
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x108]
mov ebx, 0xff
ja 0x100c0197
xor eax, eax
xorps xmm0, xmm0
nop dword [eax]
addss xmm0, dword [edx + eax*4]
movss xmm1, dword [edi + eax*4]
addss xmm1, xmm0
andps xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm2
mov edx, edi
mov edi, ecx
cvttss2si ecx, xmm1
cmp ecx, 0xff
cmovge ecx, ebx
mov ebx, dword [esi + 0xe0]
mov byte [ebx + eax], cl
mov ebx, 0xff
mov ecx, edi
mov edi, edx
mov edx, dword [esi + 0x108]
inc eax
cmp ecx, eax
jne 0x100c0150
mov ebx, dword [esi + 0xe0]
cmp dword [esi + 0x118], 0
mov edi, dword [esi + 0x1b4]
je 0x100bed30
mov ecx, dword [esi + 0x118]
lea eax, [esi + 0xe8]
nop dword [eax]
movss xmm0, dword [ecx + 8]
addss xmm0, dword [ecx + 4]
movss dword [ecx + 4], xmm0
mov eax, dword [eax]
mov ecx, dword [eax]
test ecx, ecx
jne 0x100c01c0
jmp 0x100bed30
cmp dword [esi + 0x150], 0
setne al
cmp dword [esi + 0x158], 0
sete ah
and ah, al
mov byte [esi + 0x20], ah
lea ebx, [edx + 4]
mov ecx, edx
mov eax, edi
jmp 0x100c023a
mov ecx, dword [esi + 0xe8]
mov dword [eax], ecx
mov dword [esi + 0xe8], eax
mov ecx, ebx
lea edx, [ecx + 0x14]
movss xmm0, dword [ecx + 0x18]
add ecx, 0x18
ucomiss xmm5, xmm0
mov ebx, ecx
mov ecx, edx
mov eax, edi
jb 0x100bee34
movss xmm1, dword [ecx + 0xc]
ucomiss xmm0, xmm1
jne 0x100c0246
jnp 0x100c0260
test eax, eax
je 0x100c0270
mov edi, dword [eax]
jmp 0x100c02f4
mov edi, eax
jmp 0x100c0220
mov dword [esi + 0x60], ecx
mov edx, dword [esi + 0x124]
test edx, edx
je 0x100c0286
dec edx
mov ecx, dword [esi + 0xf0]
jmp 0x100c02d6
mov dword [esi + 0x70], ebx
mov dword [esi + 0x458], 7
push 0xdac4
call fcn.1009ca00
add esp, 4
test eax, eax
movss xmm2, dword [esi + 0x154]
mov ecx, dword [esi + 0xf0]
movss xmm5, dword [esi + 8]
mov ebx, dword [esi + 0x70]
je 0x100c0392
mov dword [eax], ecx
mov ecx, dword [esi + 0x60]
movss xmm1, dword [ecx + 0xc]
movss xmm0, dword [ebx]
mov edx, 0x7cf
mov ecx, eax
xorps xmm3, xmm3
lea eax, [edx + edx*8]
lea eax, [eax + eax*2]
mov dword [esi + 0x124], edx
add eax, edx
mov dword [esi + 0xf0], ecx
add eax, ecx
add eax, 4
xor edi, edi
mov ecx, dword [esi + 0x60]
subss xmm1, xmm0
movss xmm0, dword [ecx + 8]
subss xmm0, dword [ecx]
divss xmm0, xmm1
movss dword [eax + 8], xmm0
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100c0314
jnp 0x100c0320
movss xmm1, dword [0x10147700]
divss xmm1, xmm0
movss dword [eax + 0xc], xmm1
movss xmm4, dword [esi + 0xc]
movaps xmm1, xmm4
subss xmm1, dword [ebx]
mulss xmm0, xmm1
addss xmm0, dword [ecx]
subss xmm0, xmm2
movss dword [eax + 4], xmm0
mov edx, ecx
xor ecx, ecx
cmp dword [edx + 0x10], 0
sete cl
movss xmm0, dword [ecx*4 + 0x1014bfb8]
movss dword [eax + 0x10], xmm0
movss xmm0, dword [ebx]
movss dword [eax + 0x14], xmm0
mov ebx, edx
movss xmm0, dword [edx + 0xc]
movss dword [eax + 0x18], xmm0
mov dword [eax], 0
ucomiss xmm4, xmm0
seta cl
and cl, byte [esi + 0x20]
cmp cl, 1
jne 0x100c0210
movss dword [eax + 0x18], xmm4
jmp 0x100c0210
mov dword [esi + 0xf0], ecx
xor edi, edi
mov dword [esi + 0x124], 0
xorps xmm3, xmm3
mov ecx, dword [esi + 0x60]
jmp 0x100c0220
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x100c03eb
mov dword [esi + 0x458], 7
nop word cs:[eax + eax]
mov ecx, dword [eax]
mov dword [esi + 0xf0], ecx
push eax
call fcn.1009ca30
add esp, 4
mov eax, dword [esi + 0xf0]
test eax, eax
jne 0x100c03d0
mov dword [esi + 0x458], 7
lea eax, [esi + 0x208]
cmp dword [esi + 0x1c], eax
je 0x100c040b
push dword [esi + 0x1c]
call fcn.1009ca30
add esp, 4
push dword [esi + 0x8c]
call fcn.1009ca30
add esp, 4
push dword [esi + 0xc8]
call fcn.1009ca30
mov eax, dword [esi + 0x5c]
add esp, 4
push eax
call fcn.1009ca30
add esp, 4
jmp 0x100be15b
mov eax, dword [esi + 0x38]
add eax, ecx
add eax, 0x94
mov dword [esi + 0x40], eax
mov edx, dword [esi + 0x160]
imul eax, edx, 0x78
mov edi, dword [esi + 0x19c]
movss xmm1, dword [edi + eax + 0x44]
movaps xmmword [esi + 0x70], xmm1
ucomiss xmm1, dword [0x10147700]
xorps xmm3, xmm3
jne 0x100c0478
jnp 0x100bd6d0
mov eax, dword [esi + 0x38]
add eax, ecx
add eax, 0xa8
mov dword [esi + 0xc], eax
movaps xmm1, xmmword [esi + 0x70]
shufps xmm1, xmm1, 0
movaps xmmword [esi + 0x70], xmm1
xor edx, edx
movaps xmm6, xmmword [0x10147b50]
movaps xmm2, xmmword [0x10152670]
movaps xmm1, xmmword [str._b_t_n_v]
movaps xmmword [esi + 0x20], xmm1
movaps xmm7, xmmword [0x10152650]
nop word cs:[eax + eax]
movaps xmmword [esi + 0x60], xmm7
movaps xmmword [esi + 0xb0], xmm2
movaps xmmword [esi + 0xd0], xmm6
movaps xmm3, xmmword [esi + 0xb0]
movaps xmm0, xmmword [0x10152680]
andps xmm3, xmm0
movaps xmm1, xmmword [0x10152690]
orps xmm3, xmm1
movdqa xmm5, xmmword [esi + 0xb0]
psrld xmm5, 0x10
movaps xmm4, xmmword [0x101526b0]
movdqa xmm2, xmmword [0x101526a0]
por xmm5, xmm2
subps xmm5, xmm4
addps xmm5, xmm3
movaps xmm3, xmm6
andps xmm3, xmm0
orps xmm3, xmm1
movdqa xmm6, xmmword [esi + 0xd0]
psrld xmm6, 0x10
por xmm6, xmm2
subps xmm6, xmm4
addps xmm6, xmm3
movaps xmm3, xmm7
andps xmm3, xmm0
orps xmm3, xmm1
movdqa xmm7, xmmword [esi + 0x60]
psrld xmm7, 0x10
por xmm7, xmm2
subps xmm7, xmm4
addps xmm7, xmm3
movaps xmm3, xmmword [esi + 0x20]
movaps xmm0, xmm3
movaps xmmword [esi + 0x20], xmm3
andps xmm0, xmmword [0x10152680]
orps xmm0, xmm1
psrld xmm3, 0x10
por xmm3, xmm2
subps xmm3, xmm4
addps xmm3, xmm0
movaps xmm0, xmmword [esi + 0x70]
mulps xmm3, xmm0
mulps xmm7, xmm0
mulps xmm6, xmm0
mulps xmm5, xmm0
cvttps2dq xmm2, xmm5
movdqa xmm0, xmm2
psrad xmm0, 0x1f
movaps xmm1, xmmword [0x101526c0]
subps xmm5, xmm1
cvttps2dq xmm5, xmm5
pand xmm5, xmm0
por xmm5, xmm2
cvttps2dq xmm0, xmm6
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm6, xmm1
cvttps2dq xmm6, xmm6
pand xmm6, xmm2
por xmm6, xmm0
cvttps2dq xmm0, xmm7
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm7, xmm1
cvttps2dq xmm7, xmm7
pand xmm7, xmm2
por xmm7, xmm0
cvttps2dq xmm0, xmm3
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm3, xmm1
cvttps2dq xmm1, xmm3
pand xmm1, xmm2
por xmm1, xmm0
movdqa xmm0, xmm1
movdqa xmm2, xmmword [0x10146bb0]
pxor xmm0, xmm2
movdqa xmm4, xmmword [0x101526d0]
movdqa xmm3, xmm4
pcmpgtd xmm3, xmm0
pand xmm1, xmm3
movdqa xmm0, xmmword [0x101497d0]
pandn xmm3, xmm0
por xmm3, xmm1
movdqa xmm0, xmm7
pxor xmm0, xmm2
movdqa xmm1, xmm4
pcmpgtd xmm1, xmm0
pand xmm7, xmm1
pandn xmm1, xmmword [0x101497d0]
por xmm1, xmm7
packuswb xmm3, xmm1
movdqa xmm0, xmm6
pxor xmm0, xmm2
movdqa xmm7, xmm4
pcmpgtd xmm7, xmm0
pand xmm6, xmm7
movdqa xmm0, xmmword [0x101497d0]
pandn xmm7, xmm0
por xmm7, xmm6
movdqa xmm6, xmmword [esi + 0xd0]
movdqa xmm0, xmm5
pxor xmm0, xmm2
movdqa xmm1, xmm4
pcmpgtd xmm1, xmm0
pand xmm5, xmm1
pandn xmm1, xmmword [0x101497d0]
por xmm1, xmm5
packuswb xmm7, xmm1
packuswb xmm7, xmm3
movdqa xmm2, xmmword [esi + 0xb0]
movdqu xmmword [esi + edx + 0x208], xmm7
movdqa xmm7, xmmword [esi + 0x60]
add edx, 0x10
movdqa xmm0, xmmword [0x101526e0]
paddd xmm6, xmm0
paddd xmm2, xmm0
movdqa xmm1, xmmword [esi + 0x20]
paddd xmm1, xmm0
movdqa xmmword [esi + 0x20], xmm1
paddd xmm7, xmm0
cmp edx, 0x100
jne 0x100c04c0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
test eax, eax
mov edx, dword [esi + 0x160]
pxor xmm3, xmm3
movaps xmm0, xmmword [0x10146bb0]
jle 0x100bd6d0
mov ecx, dword [esi + 0x40]
mov ecx, dword [ecx]
xor edi, edi
jmp 0x100c0740
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov edx, dword [esi + 0x160]
mov ecx, dword [esi + 0x70]
mov edi, dword [esi + 0x90]
inc edi
add ecx, 0x10
cmp edi, eax
jge 0x100bd6d0
cmp dword [ecx + 0xc], 0
je 0x100c0734
movzx ebx, word [ecx + 6]
mov dword [esi + 0x20], ebx
test ebx, ebx
je 0x100c0734
mov dword [esi + 0x90], edi
mov eax, dword [esi + 0x1b0]
mov edx, dword [eax]
movzx ebx, word [ecx + 4]
movzx eax, word [ecx + 8]
mov dword [esi + 0x70], ecx
movzx edi, word [ecx + 0xa]
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x14]
mov dword [esi + 0xd0], edx
imul edi, edx
add edi, eax
mov word [esi + 0xb0], bx
movzx eax, bx
mov edx, eax
and edx, 3
and eax, 0xfffffffc
mov dword [esi + 0x60], eax
jmp 0x100c07b8
mov ecx, dword [esi + 0x20]
lea eax, [ecx - 1]
add edi, dword [esi + 0xd0]
cmp ecx, 1
mov dword [esi + 0x20], eax
jle 0x100c0720
cmp word [esi + 0xb0], 0
je 0x100c07a0
xor ecx, ecx
cmp word [esi + 0xb0], 4
mov ebx, dword [esi + 0x60]
jb 0x100c0829
xor ecx, ecx
nop word cs:[eax + eax]
movzx eax, byte [edi + ecx]
movzx eax, byte [esi + eax + 0x208]
mov byte [edi + ecx], al
movzx eax, byte [edi + ecx + 1]
movzx eax, byte [esi + eax + 0x208]
mov byte [edi + ecx + 1], al
movzx eax, byte [edi + ecx + 2]
movzx eax, byte [esi + eax + 0x208]
mov byte [edi + ecx + 2], al
movzx eax, byte [edi + ecx + 3]
movzx eax, byte [esi + eax + 0x208]
mov byte [edi + ecx + 3], al
add ecx, 4
cmp ebx, ecx
jne 0x100c07e0
test edx, edx
je 0x100c07a0
add ecx, edi
xor ebx, ebx
nop word cs:[eax + eax]
movzx eax, byte [ecx + ebx]
movzx eax, byte [esi + eax + 0x208]
mov byte [ecx + ebx], al
inc ebx
cmp edx, ebx
jne 0x100c0840
jmp 0x100c07a0
mov dword [esi + 0x458], 7
push dword [esi + 0xf4]
call fcn.1009ca30
add esp, 4
push dword [esi + 0xec]
call fcn.1009ca30
add esp, 4
mov eax, dword [esi + 0x138]
test eax, eax
je 0x100c08b0
mov dword [esi + 0x134], 0
mov dword [esi + 0x130], 0
push eax
call fcn.1009ca30
add esp, 4
mov dword [esi + 0x138], 0
xor ecx, ecx
mov eax, dword [esi + 0x38]
jmp 0x100c08c4
mov ecx, dword [esi + 0x18]
inc ecx
cmp ecx, dword [esi + 0xc4]
jge 0x100c0bca
mov dword [esi + 0x18], ecx
imul edx, ecx, 0xc4
cmp dword [eax + edx + 0xa8], 0
je 0x100c08c0
mov ecx, dword [eax + edx + 4]
mov dword [esi + 0x20], edx
mov edx, dword [eax + edx + 0x1c]
movzx eax, byte [ecx + edx + 4]
shl eax, 8
movzx edi, byte [ecx + edx + 5]
cwde
or eax, edi
movss xmm0, dword [0x10147720]
test ax, ax
jle 0x100c0913
movss xmm0, dword [0x10147700]
movzx edi, byte [ecx + edx + 6]
shl edi, 8
movzx edx, byte [ecx + edx + 7]
movsx ecx, di
or ecx, edx
movss xmm1, dword [0x10147720]
test cx, cx
jle 0x100c093a
movss xmm1, dword [0x10147700]
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x54]
imul ebx, dword [esi + 0x18], 0x78
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
sub eax, ecx
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movss xmm4, dword [edi + ebx + 0x10]
cvtsi2ss xmm5, ecx
divss xmm4, xmm3
lea eax, [edi + ebx]
mov dword [esi + 0xb0], edi
mov dword [esi + 0x14], ebx
mov ecx, dword [edi + ebx + 0x74]
mulss xmm2, xmm4
addss xmm2, xmm0
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm5, xmm4
addss xmm5, xmm1
cvttps2dq xmm1, xmm5
cvtdq2ps xmm1, xmm1
mov dword [esi + 0x458], 7
sub esp, 0x14
mov dword [esp + 8], eax
mov dword [esi + 0x70], ecx
mov dword [esp + 4], ecx
mov dword [esp], edx
movss dword [esp + 0x10], xmm1
movss dword [esp + 0xc], xmm0
call fcn.100c1f30
add esp, 0x14
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x20]
lea edi, [eax + ecx]
add edi, 0xa8
mov edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x14]
movss xmm0, dword [edx + ebx + 0x28]
movss dword [esi + 0xd0], xmm0
mov ecx, dword [esi + 0x70]
movss xmm0, dword [ecx + 0x4c]
addss xmm0, dword [0x10147680]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edx + ebx + 0x2c]
movaps xmmword [esi + 0x90], xmm0
lea ecx, [edx + ebx]
add ecx, 0x38
mov dword [esi + 0x60], ecx
xor ebx, ebx
mov dword [esi + 0xc], edi
cmp ebx, dword [edi]
jge 0x100c08c0
nop
mov eax, dword [edi - 0x10]
lea ecx, [ebx + ebx*8]
lea ecx, [ecx + ecx*2]
add ecx, ebx
movss xmm2, dword [eax + ecx + 0x10]
mov edx, dword [esi + 0x60]
movss xmm1, dword [edx]
movss xmm3, dword [edx - 4]
minss xmm1, xmm2
movaps xmm6, xmm2
cmpltss xmm6, xmm3
movaps xmm4, xmm6
andnps xmm4, xmm1
andps xmm6, xmm3
orps xmm6, xmm4
ucomiss xmm2, xmm6
movss xmm3, dword [esi + 0xd0]
jne 0x100c0a64
jnp 0x100c0a8b
mov edx, dword [esi + 0x60]
cmp byte [edx - 0x1c], 0
movaps xmm3, xmm6
subss xmm3, xmm2
mulss xmm3, dword [0x10147680]
je 0x100c0a83
cvttps2dq xmm1, xmm3
cvtdq2ps xmm3, xmm1
addss xmm3, dword [esi + 0xd0]
movzx edx, word [eax + ecx]
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
movzx edx, word [eax + ecx + 2]
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
movss dword [esi + 0x20], xmm1
movzx edx, word [eax + ecx + 4]
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
movss dword [esi + 0x14], xmm1
movzx edx, word [eax + ecx + 6]
xorps xmm2, xmm2
cvtsi2ss xmm2, edx
mov edx, dword [ebp + 8]
xorps xmm5, xmm5
cvtsi2ss xmm5, dword [edx + 0x20]
movss xmm1, dword [0x10147700]
movaps xmm7, xmm1
divss xmm7, xmm5
xorps xmm5, xmm5
cvtsi2ss xmm5, dword [edx + 0x1c]
divss xmm1, xmm5
movss xmm5, dword [eax + ecx + 8]
xorps xmm4, xmm4
addss xmm5, xmm4
mulss xmm0, xmm1
movss dword [esi + 0xb0], xmm0
movss xmm4, dword [esi + 0x14]
mulss xmm4, xmm1
movss xmm1, dword [eax + ecx + 0xc]
movss xmm0, dword [esi + 0x20]
mulss xmm0, xmm7
movss dword [esi + 0x20], xmm0
mulss xmm2, xmm7
movss xmm7, dword [eax + ecx + 0x14]
xorps xmm0, xmm0
addss xmm7, xmm0
addss xmm7, xmm3
addss xmm5, xmm3
movss xmm3, dword [eax + ecx + 0x18]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + ebx*4]
addss xmm1, xmm0
addss xmm3, xmm0
movaps xmm0, xmmword [esi + 0x90]
addss xmm3, xmm0
addss xmm1, xmm0
sub esp, 0x28
movss dword [esp + 0x24], xmm6
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x1c], xmm4
movss xmm0, dword [esi + 0x20]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0xb0]
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x10], xmm3
movss dword [esp + 0xc], xmm7
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm5
movzx eax, ax
mov dword [esp], eax
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x20], ebx
call fcn.100c2020
mov ebx, dword [esi + 0x20]
inc ebx
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0xc]
cmp ebx, dword [edi]
jl 0x100c0a20
jmp 0x100c08c0
cmp dword [esi + 0xc4], 0
jle 0x100c0c2c
lea ecx, [eax + 0xc0]
jmp 0x100c0bee
add ecx, 0xc4
dec dword [esi + 0xc4]
je 0x100c0c2c
mov eax, dword [ecx]
test eax, eax
mov dword [esi + 0x20], ecx
je 0x100c0c0d
mov dword [esi + 0x458], 0
push eax
call fcn.1009ca30
mov ecx, dword [esi + 0x20]
add esp, 4
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x100c0be0
mov dword [esi + 0x458], 1
push eax
call fcn.1009ca30
mov ecx, dword [esi + 0x20]
add esp, 4
jmp 0x100c0be0
mov dword [esi + 0x458], 7
push dword [ebp + 8]
call fcn.100c21e0
add esp, 4
mov eax, dword [esi + 0x174]
test eax, eax
je 0x100c0c5e
mov dword [esi + 0x458], 2
push eax
call fcn.1009ca30
add esp, 4
mov eax, dword [esi + 0x138]
test eax, eax
je 0x100c0c7b
mov dword [esi + 0x458], 3
push eax
call fcn.1009ca30
add esp, 4
mov al, 1
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x100c0c9d
mov dword [esi + 0x458], 5
push ecx
mov dword [esi + 0x20], eax
call fcn.1009ca30
mov eax, dword [esi + 0x20]
add esp, 4
mov ecx, dword [esi + 0x450]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret