Function at 0x100b8fb0
Capabilities:
Check os version
Enumerate pe sections
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x460
mov esi, esp
mov dword [esi + 0x438], ebp
mov edi, dword [ebp + 8]
mov dword [esi + 0x43c], esp
mov dword [esi + 0x448], 0xffffffff
lea eax, [esi + 0x440]
mov dword [esi + 0x444], 0x100c5240
mov ecx, dword fs:[0]
mov dword [esi + 0x440], ecx
mov dword fs:[0], eax
push edi
call fcn.100bf540
add esp, 4
mov dword [edi + 8], 0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [edi + 0x1c], xmm0
mov dword [edi + 0x30], 0
mov dword [edi + 0x2c], 0
mov eax, dword [edi + 0x14]
test eax, eax
je 0x100b9034
push eax
call fcn.1009b700
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x100b9047
push eax
call fcn.1009b700
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 + 0x1c], 0
mov edi, 0
mov dword [esi + 0xbc], eax
test eax, eax
jle 0x100b90b1
mov ecx, dword [esi + 0xbc]
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
imul eax, eax, 0xc4
mov dword [esi + 0x98], 0
mov dword [esi + 0x9c], 0
mov dword [esi + 0x448], 6
push eax
call fcn.1009b6d0
add esp, 4
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
mov dword [esi + 0x3c], edi
mov eax, ecx
mov dword [esi + 0xf8], ecx
jle 0x100b9106
mov ecx, dword [esi + 0xf8]
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
shl eax, 3
lea eax, [eax + eax*2]
mov dword [esi + 0x98], 0
mov dword [esi + 0x9c], edi
mov dword [esi + 0x448], 6
push eax
call fcn.1009b6d0
mov edi, dword [esi + 0x3c]
add esp, 4
mov dword [esi + 0x1c], eax
imul eax, dword [esi + 0xbc], 0xc4
push eax
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0xf8]
lea eax, [eax*8]
lea eax, [eax + eax*2]
push eax
push 0
push dword [esi + 0x1c]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x4c], 0
jle 0x100ba34e
vxorps xmm0, xmm0, xmm0
xor ecx, ecx
mov dword [esi + 0xd0], ecx
imul ecx, ecx, 0xc4
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x54]
mov dword [esi + 0x80], edx
mov dword [esi + 0x20], ecx
mov dword [edi + ecx + 0xa0], 0xffffffff
mov eax, dword [eax + 0x34]
test eax, eax
jle 0x100ba32d
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x3c]
add ecx, edi
mov dword [esi + 0x40], ecx
imul ecx, dword [esi + 0xd0], 0x78
mov ebx, dword [esi + 0x80]
lea edx, [ebx + ecx]
mov dword [esi + 0xa0], edx
mov edx, dword [esi + 0x3c]
lea edx, [edx + edi + 0xa0]
mov dword [esi + 0x78], edx
mov dword [esi + 0x130], ecx
mov edx, dword [ebx + ecx + 0x74]
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x3c]
xor edi, edi
nop
cmp edx, dword [ebx + edi*4]
je 0x100b91d0
inc edi
cmp edi, eax
jl 0x100b91c0
jmp 0x100ba32d
mov eax, dword [esi + 0x78]
mov dword [eax], edi
mov eax, dword [esi + 0x80]
mov edx, dword [esi + 0x130]
mov eax, dword [eax + edx + 0xc]
mov ecx, dword [esi + 0xa0]
mov ebx, dword [ecx]
movzx ecx, byte [ebx]
cmp ecx, 0x4e
jg 0x100b9220
test ecx, ecx
je 0x100b925f
cmp ecx, 0x31
jne 0x100b92e4
cmp byte [ebx + 1], 0
mov ecx, 0xffffffff
jne 0x100b92e9
jmp 0x100b926a
cmp ecx, 0x4f
je 0x100b9278
cmp ecx, 0x74
jne 0x100b92e4
movzx ecx, byte [ebx + 1]
cmp ecx, 0x72
je 0x100b9291
cmp ecx, 0x74
je 0x100b92ad
cmp ecx, 0x79
jne 0x100b92e4
cmp byte [ebx + 2], 0x70
mov ecx, 0xffffffff
jne 0x100b92e9
cmp byte [ebx + 3], 0x31
je 0x100b92a2
jmp 0x100b92e9
cmp byte [ebx + 1], 1
mov ecx, 0xffffffff
jne 0x100b92e9
cmp byte [ebx + 2], 0
jne 0x100b92e9
cmp byte [ebx + 3], 0
jne 0x100b92e9
jmp 0x100b92a2
cmp byte [ebx + 1], 0x54
mov ecx, 0xffffffff
jne 0x100b92e9
cmp byte [ebx + 2], 0x54
jne 0x100b92e9
cmp byte [ebx + 3], 0x4f
je 0x100b92a2
jmp 0x100b92e9
cmp byte [ebx + 2], 0x75
mov ecx, 0xffffffff
jne 0x100b92e9
cmp byte [ebx + 3], 0x65
jne 0x100b92e9
neg eax
mov ecx, 0
sbb ecx, ecx
jmp 0x100b92e9
cmp byte [ebx + 2], 0x63
jne 0x100b92e4
cmp byte [ebx + 3], 0x66
jne 0x100b92e4
movbe ecx, dword [ebx + 4]
cmp ecx, 0x20000
je 0x100b92ce
cmp ecx, 0x10000
jne 0x100b92e4
movbe ecx, dword [ebx + 8]
cmp ecx, eax
mov ecx, 0xffffffff
jle 0x100b92e9
movbe ecx, dword [ebx + eax*4 + 0xc]
jmp 0x100b92e9
mov ecx, 0xffffffff
mov eax, dword [esi + 0x40]
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 + 0x2c], 0
mov dword [esi + 0x38], edi
or eax, edi
mov dword [esi + 0xa0], 0
mov edi, 0
mov dword [esi + 0x34], ecx
je 0x100b93d5
add ecx, ebx
add ecx, 0x17
mov edi, dword [esi + 0x38]
shl edi, 4
shl edx, 0xc
or edx, edi
xor edi, edi
jmp 0x100b9357
add edi, 0x10
cmp edx, edi
je 0x100b9390
cmp byte [ecx + edi - 0xb], 0x63
jne 0x100b9350
cmp byte [ecx + edi - 0xa], 0x6d
jne 0x100b9350
cmp byte [ecx + edi - 9], 0x61
jne 0x100b9350
cmp byte [ecx + edi - 8], 0x70
jne 0x100b9350
mov edx, dword [esi + 0x34]
add edx, ebx
movbe edx, dword [edi + edx + 0x14]
mov dword [esi + 0xa0], edx
jmp 0x100b93a6
mov dword [esi + 0xa0], 0
jmp 0x100b93a6
add ecx, 0x10
dec eax
je 0x100b93d0
cmp byte [ecx - 0xb], 0x6c
jne 0x100b93a0
cmp byte [ecx - 0xa], 0x6f
jne 0x100b93a0
cmp byte [ecx - 9], 0x63
jne 0x100b93a0
cmp byte [ecx - 8], 0x61
jne 0x100b93a0
movbe edi, dword [ecx - 3]
jmp 0x100b93d2
xor edi, edi
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x40]
mov dword [esi + 0x24], edi
mov dword [eax + 0x10], edi
movzx eax, byte [ebx + ecx + 4]
mov ecx, eax
shl ecx, 8
mov edx, dword [esi + 0x34]
movzx edx, byte [ebx + edx + 5]
or ecx, edx
mov ecx, dword [esi + 0x34]
je 0x100b945a
add ecx, ebx
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edx, edx
jmp 0x100b9417
add edx, 0x10
cmp eax, edx
je 0x100b9450
cmp byte [ecx + edx - 0xb], 0x68
jne 0x100b9410
cmp byte [ecx + edx - 0xa], 0x65
jne 0x100b9410
cmp byte [ecx + edx - 9], 0x61
jne 0x100b9410
cmp byte [ecx + edx - 8], 0x64
jne 0x100b9410
mov ecx, dword [esi + 0x34]
lea eax, [ebx + ecx]
movbe eax, dword [edx + eax + 0x14]
mov dword [esi + 0x2c], eax
jmp 0x100b945a
mov dword [esi + 0x2c], 0
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x2c]
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 + 0x38], 0
or edx, edi
mov edx, 0
je 0x100b94d2
lea edx, [ebx + ecx]
add edx, 0x17
shl edi, 4
shl eax, 0xc
or eax, edi
xor edi, edi
jmp 0x100b94a7
add edi, 0x10
cmp eax, edi
je 0x100b94d0
cmp byte [edx + edi - 0xb], 0x67
jne 0x100b94a0
cmp byte [edx + edi - 0xa], 0x6c
jne 0x100b94a0
cmp byte [edx + edi - 9], 0x79
jne 0x100b94a0
cmp byte [edx + edi - 8], 0x66
jne 0x100b94a0
lea eax, [ebx + ecx]
movbe edx, dword [edi + eax + 0x14]
jmp 0x100b94d2
xor edx, edx
mov eax, dword [esi + 0x40]
mov dword [esi + 0x74], 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 0x100b954a
add ecx, ebx
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edi, edi
jmp 0x100b9507
add edi, 0x10
cmp eax, edi
je 0x100b9540
cmp byte [ecx + edi - 0xb], 0x68
jne 0x100b9500
cmp byte [ecx + edi - 0xa], 0x68
jne 0x100b9500
cmp byte [ecx + edi - 9], 0x65
jne 0x100b9500
cmp byte [ecx + edi - 8], 0x61
jne 0x100b9500
mov ecx, dword [esi + 0x34]
lea eax, [ebx + ecx]
movbe eax, dword [edi + eax + 0x14]
mov dword [esi + 0x38], eax
jmp 0x100b954a
mov dword [esi + 0x38], 0
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x38]
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 + 0x30], edi
je 0x100b95c2
mov eax, dword [esi + 0x30]
add eax, ecx
add eax, 0x17
shl edx, 4
shl ebx, 0xc
or ebx, edx
xor edx, edx
jmp 0x100b9597
add edx, 0x10
cmp ebx, edx
je 0x100b95c0
cmp byte [eax + edx - 0xb], 0x68
jne 0x100b9590
cmp byte [eax + edx - 0xa], 0x6d
jne 0x100b9590
cmp byte [eax + edx - 9], 0x74
jne 0x100b9590
cmp byte [eax + edx - 8], 0x78
jne 0x100b9590
mov eax, dword [esi + 0x30]
add eax, ecx
movbe eax, dword [edx + eax + 0x14]
jmp 0x100b95c2
xor eax, eax
mov edx, eax
mov eax, ecx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x18], edx
mov dword [ecx + 0x20], edx
mov edx, dword [esi + 0x30]
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 0x100b9632
mov ecx, dword [esi + 0x30]
lea edi, [ecx + eax]
add edi, 0x17
shl edx, 4
shl ebx, 0xc
or ebx, edx
xor edx, edx
jmp 0x100b9607
add edx, 0x10
cmp ebx, edx
je 0x100b9630
cmp byte [edi + edx - 0xb], 0x6b
jne 0x100b9600
cmp byte [edi + edx - 0xa], 0x65
jne 0x100b9600
cmp byte [edi + edx - 9], 0x72
jne 0x100b9600
cmp byte [edi + edx - 8], 0x6e
jne 0x100b9600
mov ecx, dword [esi + 0x30]
add ecx, eax
movbe edi, dword [edx + ecx + 0x14]
jmp 0x100b9632
xor edi, edi
mov ecx, dword [esi + 0x40]
mov dword [ecx + 0x24], edi
mov ebx, dword [esi + 0x30]
movzx edi, byte [ebx + eax + 4]
mov ecx, edi
shl ecx, 8
movzx edx, byte [ebx + eax + 5]
or ecx, edx
je 0x100b96a7
add ebx, eax
add ebx, 0x17
shl edx, 4
shl edi, 0xc
or edi, edx
xor edx, edx
jmp 0x100b9667
add edx, 0x10
cmp edi, edx
je 0x100b96a0
cmp byte [ebx + edx - 0xb], 0x47
jne 0x100b9660
cmp byte [ebx + edx - 0xa], 0x50
jne 0x100b9660
cmp byte [ebx + edx - 9], 0x4f
jne 0x100b9660
cmp byte [ebx + edx - 8], 0x53
jne 0x100b9660
mov ebx, dword [esi + 0x30]
lea ecx, [ebx + eax]
movbe edx, dword [edx + ecx + 0x14]
jmp 0x100b96a9
xor edx, edx
mov ebx, dword [esi + 0x30]
jmp 0x100b96a9
xor edx, edx
mov ecx, dword [esi + 0x40]
mov dword [ecx + 0x28], edx
cmp dword [esi + 0xa0], 0
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x24]
je 0x100ba32d
cmp dword [esi + 0x2c], 0
je 0x100ba32d
cmp dword [esi + 0x38], 0
je 0x100ba32d
cmp dword [esi + 0x18], 0
je 0x100ba32d
cmp dword [esi + 0x74], 0
je 0x100b98b9
test eax, eax
je 0x100ba32d
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 0x100b9760
add edx, ebx
add edx, 0x17
shl edi, 4
shl ecx, 0xc
or ecx, edi
xor edi, edi
jmp 0x100b9727
add edi, 0x10
cmp ecx, edi
je 0x100b9760
cmp byte [edx + edi - 0xb], 0x6d
jne 0x100b9720
cmp byte [edx + edi - 0xa], 0x61
jne 0x100b9720
cmp byte [edx + edi - 9], 0x78
jne 0x100b9720
cmp byte [edx + edi - 8], 0x70
jne 0x100b9720
mov ecx, dword [esi + 0x34]
add ecx, ebx
movbe ecx, dword [edi + ecx + 0x14]
test ecx, ecx
je 0x100b9760
movbe ax, word [ebx + ecx + 4]
movzx eax, ax
nop dword [eax]
mov ecx, dword [esi + 0x40]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0xa0]
movbe ax, word [ebx + eax + 2]
mov dword [ecx + 0x2c], 0
test ax, ax
je 0x100ba32d
movzx eax, ax
mov ecx, dword [esi + 0xa0]
add ecx, ebx
add ecx, 0xb
xor edx, edx
xor edi, edi
jmp 0x100b97b7
movbe edx, dword [ecx + edi*8 - 3]
add edx, dword [esi + 0xa0]
mov ebx, dword [esi + 0x40]
mov dword [ebx + 0x2c], edx
inc edi
cmp eax, edi
je 0x100b97f0
movbe bx, word [ecx + edi*8 - 7]
test bx, bx
je 0x100b97a0
movzx ebx, bx
cmp ebx, 3
jne 0x100b97b2
movbe bx, word [ecx + edi*8 - 5]
cmp bx, 0xa
je 0x100b97a0
movzx ebx, bx
cmp ebx, 1
je 0x100b97a0
jmp 0x100b97b2
test edx, edx
mov edx, dword [esi + 0x30]
je 0x100ba32d
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + 0x14]
movbe ax, word [edx + eax + 0x32]
movzx eax, ax
mov dword [ecx + 0x30], eax
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x130]
mov eax, dword [eax + ecx + 0x30]
test eax, eax
mov ecx, 0x1014a354
cmove eax, ecx
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x3c]
mov edi, dword [esi + 0x20]
mov dword [edx + edi + 0x9c], eax
cmp word [eax], 0
je 0x100b987a
mov edx, dword [esi + 0x3c]
mov edi, dword [esi + 0x20]
add edx, edi
add edx, 0xa4
add eax, 4
nop word cs:[eax + eax]
movzx edi, word [eax - 2]
test edi, edi
je 0x100b987a
mov ebx, dword [edx]
cmp ebx, edi
cmovg edi, ebx
mov dword [edx], edi
cmp word [eax], 0
lea eax, [eax + 4]
jne 0x100b9860
lea eax, [ecx + ecx*2]
mov edi, dword [esi + 0x1c]
lea ecx, [edi + eax*8]
inc dword [ecx]
mov ebx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x20]
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 + 0xd0]
inc ecx
mov eax, dword [ebp + 8]
cmp ecx, dword [eax + 0x4c]
jl 0x100b914d
jmp 0x100ba34e
mov dword [esi + 0x164], 2
mov dword [esi + 0xcc], 0
mov dword [esi + 0x100], 0
mov dword [esi + 0xfc], 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 0x100ba32d
mov ecx, dword [esi + 0x34]
add ecx, ebx
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edx, edx
jmp 0x100b991b
add edx, 0x10
cmp eax, edx
je 0x100ba32d
cmp byte [ecx + edx - 0xb], 0x43
jne 0x100b9910
cmp byte [ecx + edx - 0xa], 0x46
jne 0x100b9910
cmp byte [ecx + edx - 9], 0x46
jne 0x100b9910
cmp byte [ecx + edx - 8], 0x20
jne 0x100b9910
mov eax, dword [esi + 0x34]
add eax, ebx
movbe eax, dword [edx + eax + 0x14]
test eax, eax
je 0x100ba32d
lea edi, [ebx + eax]
mov ecx, dword [esi + 0x40]
vmovups 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]
movbe dx, word [eax + edi]
mov dword [esi + 0x2c], edi
movzx ecx, byte [eax + edi + 2]
movzx ebx, cl
test dx, dx
je 0x100b99bf
movzx edx, dx
imul edx, ebx
add eax, edx
add eax, 3
test cl, cl
je 0x100b99ca
xor edx, edx
cmp cl, 1
mov dword [esi + 0x38], ebx
jne 0x100b99d1
test byte [esi + 0x38], 1
je 0x100b9a26
cmp eax, 0x1fffffff
jg 0x100b9a1c
mov ecx, dword [esi + 0x2c]
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100b9a1e
add eax, 2
shl ebx, 8
jmp 0x100b9a4d
mov edx, 0xffffffff
jmp 0x100b9a27
mov edi, ebx
and edi, 0xfffffffe
xor edx, edx
jmp 0x100b99f7
mov ecx, dword [esi + 0x2c]
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
je 0x100b99a8
cmp eax, 0x1fffffff
jg 0x100b9a0f
mov ecx, dword [esi + 0x2c]
movzx ebx, byte [ecx + eax]
inc eax
cmp eax, 0x1fffffff
jle 0x100b99da
jmp 0x100b9a18
xor ebx, ebx
cmp eax, 0x1fffffff
jle 0x100b99da
xor ecx, ecx
jmp 0x100b99e2
xor ecx, ecx
shl edx, 8
movzx ecx, cl
or edx, ecx
dec edx
add eax, edx
mov edi, 0x20000000
xor edx, edx
cmp eax, 0x1fffffff
ja 0x100b9a5c
mov ecx, dword [esi + 0x2c]
movzx ebx, byte [ecx + eax]
shl ebx, 8
mov ecx, 0x1fffffff
cmp eax, 0x1fffffff
je 0x100b9a63
lea edi, [eax + 2]
mov ecx, dword [esi + 0x2c]
movzx edx, byte [eax + ecx + 1]
mov ecx, eax
jmp 0x100b9a63
xor ebx, ebx
mov ecx, 0x20000000
or ebx, edx
je 0x100b9ac3
mov dword [esi + 0x24], ecx
mov edx, 0xffffffff
mov eax, 0x20000000
cmp edi, 0x1fffffff
ja 0x100b9b1d
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax + edi]
mov dword [esi + 0x18], eax
imul ebx, eax
lea eax, [edi + ebx]
inc eax
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x100b9b1d
xor edx, edx
cmp cl, 1
jne 0x100b9ac7
test byte [esi + 0x18], 1
je 0x100b9b1c
cmp eax, 0x1fffffff
jg 0x100b9b12
mov ecx, dword [esi + 0x2c]
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100b9b14
mov eax, edi
jmp 0x100b9b2f
and ecx, 0xfffffffe
xor edx, edx
jmp 0x100b9aec
mov edi, dword [esi + 0x2c]
movzx ebx, byte [edi + eax]
inc eax
movzx edi, byte [esi + 0x38]
shl edx, 0x10
shl edi, 8
or edi, edx
movzx edx, bl
or edx, edi
add ecx, 0xfffffffe
je 0x100b9aac
cmp eax, 0x1fffffff
jg 0x100b9b00
mov edi, dword [esi + 0x2c]
movzx ebx, byte [edi + eax]
mov dword [esi + 0x38], ebx
inc eax
jmp 0x100b9b07
mov dword [esi + 0x38], 0
cmp eax, 0x1fffffff
jle 0x100b9ace
xor ebx, ebx
jmp 0x100b9ad6
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, dword [esi + 0x24]
mov dword [esi + 0x28], eax
mov ebx, eax
sub ebx, ecx
mov eax, ebx
or eax, ecx
js 0x100b9b5a
add ecx, dword [esi + 0x2c]
xor edx, edx
mov eax, 0
test ebx, ebx
cmovs eax, ebx
mov dword [esi + 0x24], ecx
jle 0x100b9b70
movzx ecx, byte [ecx + eax]
inc eax
shl ecx, 8
jmp 0x100b9b72
xor ecx, ecx
xor ebx, ebx
mov dword [esi + 0x24], 0
xor edi, edi
xor edx, edx
xor eax, eax
jmp 0x100b9cca
xor ecx, ecx
cmp eax, ebx
jge 0x100b9b7e
mov edx, dword [esi + 0x24]
movzx edx, byte [edx + eax]
inc eax
or edx, ecx
mov dword [esi + 0xc8], edx
xor edx, edx
cmp eax, ebx
jge 0x100b9bfe
mov ecx, dword [esi + 0x24]
movzx edi, byte [ecx + eax]
test edi, edi
je 0x100b9bfe
lea ecx, [eax + 1]
cmp eax, 0xffffffff
cmovl ecx, ebx
mov eax, edi
dec eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x38], ebx
mov dword [esi + 0xc4], edi
je 0x100b9c0d
mov eax, edi
and eax, 0xfffffffe
xor edx, edx
jmp 0x100b9bdb
mov edi, dword [esi + 0x24]
movzx ebx, byte [edi + ecx]
inc ecx
movzx edi, byte [esi + 0x18]
shl edx, 0x10
shl edi, 8
or edi, edx
movzx edx, bl
or edx, edi
add eax, 0xfffffffe
mov ebx, dword [esi + 0x38]
je 0x100b9c0f
cmp ecx, ebx
jge 0x100b9bef
mov edi, dword [esi + 0x24]
movzx ebx, byte [edi + ecx]
mov dword [esi + 0x18], ebx
mov ebx, dword [esi + 0x38]
inc ecx
jmp 0x100b9bf6
mov dword [esi + 0x18], 0
cmp ecx, ebx
jl 0x100b9bba
xor ebx, ebx
jmp 0x100b9bc2
xor edi, edi
xor eax, eax
mov ecx, dword [esi + 0xc8]
jmp 0x100b9cca
xor edx, edx
mov eax, dword [esi + 0xc4]
test al, 1
je 0x100b9c37
cmp ecx, ebx
jge 0x100b9c27
mov eax, dword [esi + 0x24]
movzx eax, byte [eax + ecx]
inc ecx
jmp 0x100b9c29
xor eax, eax
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x18], ecx
cmp dword [esi + 0x74], 0
je 0x100b9c99
mov edi, eax
and edi, 0xfffffffe
xor eax, eax
jmp 0x100b9c78
mov dword [esi + 0x74], ecx
mov ecx, dword [esi + 0x24]
movzx ecx, byte [ecx + ebx]
mov dword [esi + 0x7c], ecx
mov ecx, dword [esi + 0x74]
inc ebx
mov dword [esi + 0x18], ebx
mov ebx, dword [esi + 0x7c]
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 + 0x38]
je 0x100b9c9b
mov ecx, ebx
mov ebx, dword [esi + 0x18]
cmp ebx, ecx
mov ecx, dword [esi + 0x24]
jge 0x100b9c8b
movzx ecx, byte [ecx + ebx]
inc ebx
jmp 0x100b9c8d
xor ecx, ecx
cmp ebx, dword [esi + 0x38]
jl 0x100b9c49
mov dword [esi + 0x18], ebx
xor ebx, ebx
jmp 0x100b9c60
xor eax, eax
test byte [esi + 0xc4], 1
je 0x100b9cbe
mov edi, dword [esi + 0x18]
cmp edi, ebx
jge 0x100b9cb4
mov ecx, dword [esi + 0x24]
movzx ecx, byte [ecx + edi]
jmp 0x100b9cb6
xor ecx, ecx
shl eax, 8
movzx ecx, cl
or eax, ecx
mov ecx, dword [esi + 0xc8]
mov edi, dword [esi + 0xc4]
sub eax, edx
inc ecx
imul ecx, edi
add ecx, edx
add ecx, 2
mov edx, eax
or edx, ecx
js 0x100b9cfb
sub ebx, ecx
setl dl
cmp ebx, eax
setl dh
mov edi, dword [esi + 0x24]
add edi, ecx
or dh, dl
test dh, dh
mov ecx, 0
cmovne eax, ecx
cmovne edi, ecx
jmp 0x100b9cff
xor eax, eax
xor edi, edi
mov dword [esi + 0x1e8], edi
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1f0], eax
xor eax, eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0x1fffffff
jg 0x100b9d42
mov edx, dword [esi + 0x2c]
movzx eax, byte [edx + ecx]
jne 0x100b9d49
mov edx, 0xffffffff
mov ecx, 0x20000000
test al, al
jne 0x100b9e09
jmp 0x100b9e45
xor edi, edi
jmp 0x100b9e5d
mov ebx, ecx
movzx ecx, al
shl ecx, 8
movzx eax, byte [ebx + edx + 1]
or eax, ecx
je 0x100b9db6
mov edx, 0xffffffff
mov ecx, 0x20000000
cmp ebx, 0x1ffffffd
jg 0x100b9e09
mov ecx, dword [esi + 0x2c]
movzx edi, byte [ecx + ebx + 2]
imul eax, edi
lea ecx, [ebx + eax]
add ecx, 3
cmp ecx, 0x20000000
mov eax, 0x20000000
cmovae ecx, eax
test edi, edi
je 0x100b9e09
mov eax, edi
xor edx, edx
cmp al, 1
mov dword [esi + 0x38], edi
jne 0x100b9dbb
test byte [esi + 0x38], 1
je 0x100b9e08
cmp ecx, 0x1fffffff
jg 0x100b9dfe
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax + ecx]
inc ecx
jmp 0x100b9e00
add ebx, 2
jmp 0x100b9e1b
mov edi, eax
and edi, 0xfffffffe
xor edx, edx
jmp 0x100b9dde
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 0x100b9d9e
cmp ecx, 0x1fffffff
mov eax, dword [esi + 0x2c]
jg 0x100b9df0
movzx ebx, byte [eax + ecx]
inc ecx
jmp 0x100b9df2
xor ebx, ebx
cmp ecx, 0x1fffffff
jle 0x100b9dc4
xor eax, eax
jmp 0x100b9dc9
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 ebx, ecx
mov ecx, 0x20000000
cmp ebx, 0x1fffffff
mov eax, dword [esi + 0x2c]
jg 0x100b9e45
movzx edi, byte [eax + ebx]
shl edi, 8
cmp ebx, 0x1fffffff
jne 0x100b9e52
mov dword [esi + 0x28], 0x1fffffff
xor eax, eax
jmp 0x100b9e5d
mov dword [esi + 0x28], 0x20000000
xor edi, edi
xor eax, eax
jmp 0x100b9e5d
lea ecx, [ebx + 2]
mov dword [esi + 0x28], ebx
movzx eax, byte [ebx + eax + 1]
or edi, eax
je 0x100b9f24
mov edx, 0xffffffff
mov eax, 0x20000000
cmp ecx, 0x1fffffff
jg 0x100b9f13
mov eax, dword [esi + 0x2c]
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 0x100b9f13
mov ecx, ebx
xor edx, edx
cmp cl, 1
mov dword [esi + 0x24], ebx
jne 0x100b9ebd
test byte [esi + 0x24], 1
je 0x100b9f12
cmp eax, 0x1fffffff
jg 0x100b9f08
mov ecx, dword [esi + 0x2c]
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100b9f0a
and ecx, 0xfffffffe
xor edx, edx
jmp 0x100b9ee2
mov edi, dword [esi + 0x2c]
movzx ebx, byte [edi + eax]
inc eax
movzx edi, byte [esi + 0x38]
shl edx, 0x10
shl edi, 8
or edi, edx
movzx edx, bl
or edx, edi
add ecx, 0xfffffffe
je 0x100b9ea6
cmp eax, 0x1fffffff
jg 0x100b9ef6
mov edi, dword [esi + 0x2c]
movzx ebx, byte [edi + eax]
mov dword [esi + 0x38], ebx
inc eax
jmp 0x100b9efd
mov dword [esi + 0x38], 0
cmp eax, 0x1fffffff
jle 0x100b9ec4
xor ebx, ebx
jmp 0x100b9ecc
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 eax, ecx
mov edi, dword [esi + 0x28]
sub eax, edi
mov edx, eax
or edx, edi
js 0x100b9f59
cmp edi, 0x20000001
setge dl
cmp ecx, 0x20000001
setge cl
or cl, dl
mov edx, dword [esi + 0x2c]
add edi, edx
test cl, cl
mov ecx, 0
cmovne eax, ecx
cmovne edi, ecx
jmp 0x100b9f5d
xor eax, eax
xor edi, edi
mov ebx, dword [esi + 0x40]
mov dword [ebx + 0x4c], edi
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], eax
lea edi, [esi + 0x1e8]
mov ecx, edi
mov edx, 0x11
lea eax, [esi + 0xcc]
push eax
push 1
call fcn.100c24a0
add esp, 8
mov ecx, edi
mov edx, 0x106
lea eax, [esi + 0x164]
push eax
push 1
call fcn.100c24a0
add esp, 8
mov ecx, edi
mov edx, 0x124
lea eax, [esi + 0x100]
push eax
push 1
call fcn.100c24a0
add esp, 8
mov ecx, edi
mov edx, 0x125
lea eax, [esi + 0xfc]
push eax
push 1
call fcn.100c24a0
add esp, 8
lea ecx, [esi + 0x11c]
mov edx, dword [esi + 0x2c]
push dword [esi + 0x1f0]
push dword [esi + 0x1ec]
push dword [esi + 0x1e8]
push 0x20000000
call fcn.100c2640
add esp, 0x10
mov eax, dword [esi + 0x124]
mov dword [ebx + 0x60], eax
vmovsd xmm0, qword [esi + 0x11c]
vmovsd qword [ebx + 0x58], xmm0
cmp dword [esi + 0x164], 2
vxorps xmm0, xmm0, xmm0
mov ebx, dword [esi + 0x30]
jne 0x100ba32d
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x38], eax
test eax, eax
je 0x100ba32d
mov edi, dword [esi + 0x100]
test edi, edi
je 0x100ba1d3
mov eax, dword [esi + 0xfc]
test eax, eax
je 0x100ba32d
mov dword [esi + 0x18], eax
xor edx, edx
mov eax, 0
cmp edi, 0x20000000
mov ecx, 0x20000000
cmovae edi, ecx
mov dword [esi + 0x24], edi
jae 0x100ba090
mov ecx, dword [esi + 0x24]
lea edi, [ecx + 1]
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax + ecx]
shl eax, 8
cmp edi, 0x1fffffff
jbe 0x100ba098
or edx, eax
jne 0x100ba0a8
jmp 0x100ba160
cmp edi, 0x1fffffff
ja 0x100ba087
mov ecx, dword [esi + 0x2c]
movzx edx, byte [ecx + edi]
inc edi
or edx, eax
je 0x100ba160
mov ecx, 0xffffffff
mov eax, 0x20000000
cmp edi, 0x1fffffff
ja 0x100ba14f
mov eax, dword [esi + 0x2c]
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 0x100ba14f
mov edx, ebx
xor ecx, ecx
cmp dl, 1
mov dword [esi + 0x74], ebx
jne 0x100ba100
test byte [esi + 0x74], 1
je 0x100ba14e
cmp eax, 0x1fffffff
jg 0x100ba144
mov edx, dword [esi + 0x2c]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100ba146
mov edi, edx
and edi, 0xfffffffe
xor ecx, ecx
jmp 0x100ba126
mov ebx, dword [esi + 0x2c]
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
je 0x100ba0e9
cmp eax, 0x1fffffff
jg 0x100ba137
mov edx, dword [esi + 0x2c]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100ba139
xor edx, edx
cmp eax, 0x1fffffff
jle 0x100ba109
xor ebx, ebx
jmp 0x100ba111
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 eax, edi
mov edx, dword [esi + 0x24]
sub eax, edx
mov ecx, dword [esi + 0x2c]
add edx, ecx
cmp edi, 0x20000001
mov ecx, eax
mov edi, 0
cmovae ecx, edi
cmovae edx, edi
sar eax, 0x1f
andn ecx, eax, ecx
andn eax, eax, edx
mov ebx, dword [esi + 0x40]
mov dword [ebx + 0x64], eax
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x6c], ecx
mov eax, 0x20000000
mov edx, dword [esi + 0x18]
sub eax, edx
mov ecx, eax
or ecx, edx
sets cl
cmp edx, 0x20000001
setge ch
or ch, cl
add edx, dword [esi + 0x2c]
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 + 0x30]
xor edx, edx
mov eax, 0
mov edi, dword [esi + 0x38]
cmp edi, 0x20000000
mov ecx, 0x20000000
cmovae edi, ecx
mov dword [esi + 0x38], edi
jae 0x100ba211
mov ecx, dword [esi + 0x38]
lea edi, [ecx + 1]
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax + ecx]
shl eax, 8
cmp edi, 0x1fffffff
jbe 0x100ba219
or edx, eax
jne 0x100ba229
jmp 0x100ba2e5
cmp edi, 0x1fffffff
ja 0x100ba208
mov ecx, dword [esi + 0x2c]
movzx edx, byte [ecx + edi]
inc edi
or edx, eax
je 0x100ba2e5
mov ecx, 0xffffffff
mov eax, 0x20000000
cmp edi, 0x1fffffff
ja 0x100ba2d4
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax + edi]
mov dword [esi + 0x24], eax
imul edx, eax
lea eax, [edi + edx]
inc eax
cmp eax, 0x20000000
mov edx, 0x20000000
cmovae eax, edx
mov edx, dword [esi + 0x24]
test edx, edx
je 0x100ba2d4
xor ecx, ecx
cmp dl, 1
jne 0x100ba282
test byte [esi + 0x24], 1
je 0x100ba2d3
cmp eax, 0x1fffffff
jg 0x100ba2c9
mov edx, dword [esi + 0x2c]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100ba2cb
mov edi, edx
and edi, 0xfffffffe
xor ecx, ecx
jmp 0x100ba2ab
mov ebx, dword [esi + 0x2c]
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 + 0x30]
je 0x100ba26b
cmp eax, 0x1fffffff
jg 0x100ba2bc
mov edx, dword [esi + 0x2c]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100ba2be
xor edx, edx
cmp eax, 0x1fffffff
jle 0x100ba28b
xor ebx, ebx
jmp 0x100ba293
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 dword [esi + 0x24], edi
mov eax, edi
mov edi, dword [esi + 0x38]
sub eax, edi
mov edx, dword [esi + 0x2c]
add edx, edi
cmp dword [esi + 0x24], 0x20000001
mov ecx, eax
mov edi, 0
cmovae ecx, edi
cmovae edx, edi
sar eax, 0x1f
andn ecx, eax, ecx
andn eax, eax, edx
mov edx, dword [esi + 0x40]
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], 0
mov dword [edx + 0x48], ecx
mov ecx, dword [esi + 0x34]
jmp 0x100b96f2
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x100ba347
mov dword [esi + 0x448], 4
push eax
call fcn.1009b700
add esp, 4
xor eax, eax
jmp 0x100bed7d
add eax, 0x1c
mov dword [esi + 0x1b0], eax
xor eax, eax
mov dword [esi + 0x38], 0
jmp 0x100ba376
mov edi, ebx
mov eax, dword [esi + 0x2c]
inc eax
cmp eax, dword [esi + 0xbc]
jge 0x100ba69d
mov dword [esi + 0x2c], 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 + 0x20], eax
mov eax, dword [edi + eax + 0xb0]
mov dword [esi + 0x40], edx
cmp eax, edx
mov dword [esi + 0x80], ecx
mov dword [esi + 0xa0], ebx
jge 0x100ba3e0
test eax, eax
je 0x100ba3e8
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
mov dword [esi + 0x448], 6
jmp 0x100ba3ed
mov edx, dword [ecx + 8]
jmp 0x100ba482
mov ecx, 8
mov eax, dword [esi + 0x40]
cmp ecx, eax
cmovle ecx, eax
mov dword [esi + 0x34], ecx
lea eax, [ecx*4]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], edi
mov dword [esi + 0x448], 6
push eax
call fcn.1009b6d0
mov edi, dword [esi + 0x3c]
add esp, 4
mov ecx, dword [esi + 0x80]
mov edx, eax
mov eax, dword [ecx + 8]
test eax, eax
je 0x100ba479
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push eax
push edx
mov dword [esi + 0x30], edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], edi
push eax
call fcn.1009b700
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x80]
mov edi, dword [esi + 0x3c]
add esp, 4
mov dword [ecx + 8], edx
mov eax, dword [esi + 0x34]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x40]
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 + 0xa0]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x1c]
lea edx, [eax + ecx*8]
add edx, 0xc
mov dword [esi + 0x40], ecx
cmp dword [eax + ecx*8 + 0xc], 0
mov dword [esi + 0xa0], edx
jne 0x100ba5aa
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x40]
mov ecx, dword [eax + ecx*8 + 4]
add ecx, 0x20
sar ecx, 5
mov eax, dword [edx + 4]
cmp eax, ecx
jge 0x100ba4ee
test eax, eax
je 0x100ba4f6
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
add edx, eax
mov dword [esi + 0x448], 6
jmp 0x100ba4fb
mov ebx, dword [edx + 8]
jmp 0x100ba593
mov edx, 8
cmp edx, ecx
mov dword [esi + 0x34], ecx
cmovle edx, ecx
mov dword [esi + 0x30], edx
lea eax, [edx*4]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], edi
mov dword [esi + 0x448], 6
push eax
call fcn.1009b6d0
mov edi, dword [esi + 0x3c]
add esp, 4
mov edx, dword [esi + 0xa0]
mov ebx, eax
mov eax, dword [edx + 8]
test eax, eax
je 0x100ba587
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 + 0xa0]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], edi
push eax
mov dword [esi + 0xd0], ebx
call fcn.1009b700
mov ebx, dword [esi + 0xd0]
mov edx, dword [esi + 0xa0]
mov edi, dword [esi + 0x3c]
add esp, 4
mov dword [edx + 8], ebx
mov eax, dword [esi + 0x30]
mov dword [edx + 4], eax
mov ecx, dword [esi + 0x34]
mov dword [edx], ecx
shl ecx, 2
push ecx
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esi + 0xa0]
add esp, 0xc
mov ebx, dword [esi + 0x20]
mov eax, dword [edi + ebx + 0x9c]
mov dword [esi + 0x30], eax
movzx eax, word [eax]
test ax, ax
je 0x100ba372
lea ecx, [edi + ebx]
mov dword [esi + 0x34], ecx
lea ecx, [edi + ebx]
add ecx, 0xa8
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x1c]
mov ebx, edi
mov edi, dword [esi + 0x40]
lea ecx, [ecx + edi*8 + 8]
mov edi, ebx
mov dword [esi + 0xd0], ecx
mov ecx, dword [esi + 0x30]
jmp 0x100ba606
mov ecx, dword [esi + 0x30]
movzx eax, word [ecx + 4]
add ecx, 4
test ax, ax
mov edi, dword [esi + 0x3c]
je 0x100ba372
mov ebx, edi
movzx edi, word [ecx + 2]
test di, di
je 0x100ba370
mov dword [esi + 0x30], ecx
cmp ax, di
ja 0x100ba5f0
movzx ebx, ax
jmp 0x100ba640
mov edx, dword [esi + 0xa0]
nop dword [eax + eax]
movzx edi, word [esi + 0x40]
lea eax, [ebx + 1]
movzx ecx, di
cmp ebx, ecx
mov ebx, eax
jae 0x100ba5f0
mov word [esi + 0x40], di
mov eax, dword [edx + 8]
mov edi, ebx
shr edi, 5
mov eax, dword [eax + edi*4]
bt eax, ebx
jb 0x100ba630
mov ecx, dword [esi + 0x34]
mov edx, ebx
call fcn.100bf690
test eax, eax
je 0x100ba622
mov eax, dword [esi + 0x20]
inc dword [eax]
mov eax, 1
shlx eax, eax, ebx
mov ecx, dword [esi + 0xd0]
inc dword [ecx]
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx + 8]
or dword [ecx + edi*4], eax
mov edx, dword [esi + 0xa0]
mov ecx, dword [edx + 8]
or dword [ecx + edi*4], eax
inc dword [esi + 0x38]
mov eax, dword [esi + 0x30]
movzx edi, word [eax + 2]
jmp 0x100ba634
xor ecx, ecx
jmp 0x100ba703
mov eax, dword [esi + 0x24]
mov edx, dword [eax + 8]
mov edi, dword [esi + 0x3c]
mov ecx, dword [esi + 0x18]
test edx, edx
je 0x100ba702
mov eax, dword [esi + 0x24]
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], edi
mov dword [esi + 0x448], 6
push edx
call fcn.1009b700
mov edi, dword [esi + 0x3c]
add esp, 4
mov eax, dword [esi + 0x24]
mov dword [eax + 8], 0
mov ecx, dword [esi + 0x18]
inc ecx
cmp ecx, dword [esi + 0xbc]
jge 0x100ba963
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 + 0x18], ecx
mov dword [esi + 0xd0], edx
jge 0x100ba7e0
mov dword [esi + 0xa0], eax
lea eax, [eax*4]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], edi
mov dword [esi + 0x448], 6
push eax
mov dword [esi + 0x40], ebx
call fcn.1009b6d0
mov ebx, dword [esi + 0x40]
mov edi, dword [esi + 0x3c]
add esp, 4
lea ecx, [edi + ebx]
add ecx, 0xc0
mov edx, dword [edi + ebx + 0xc0]
test edx, edx
je 0x100ba7cc
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0xd0]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push edx
push eax
mov dword [esi + 0x30], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], edi
push eax
call fcn.1009b700
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov ebx, dword [esi + 0x40]
mov edi, dword [esi + 0x3c]
add esp, 4
mov dword [ecx], eax
mov edx, dword [esi + 0xd0]
mov eax, dword [esi + 0xa0]
mov dword [edx + 4], eax
mov ecx, dword [esi + 0x18]
lea eax, [edi + ebx]
add eax, 0xac
mov dword [esi + 0x24], eax
mov eax, dword [edi + ebx + 0xac]
mov dword [esi + 0x40], eax
mov eax, dword [edi + ebx + 0xb4]
mov dword [esi + 0x130], eax
cmp dword [esi + 0x40], 0
jle 0x100ba950
mov ecx, dword [esi + 0x130]
mov eax, dword [esi + 0x40]
lea eax, [ecx + eax*4]
mov dword [esi + 0x78], eax
lea eax, [edi + ebx]
add eax, 0xc0
mov dword [esi + 0x34], eax
mov eax, ecx
jmp 0x100ba83c
add eax, 4
cmp eax, dword [esi + 0x78]
jae 0x100ba6b0
mov edi, dword [eax]
mov dword [esi + 0xa0], edi
test edi, edi
je 0x100ba830
mov edi, eax
sub edi, dword [esi + 0x130]
shl edi, 3
mov dword [esi + 0x80], edi
xor edi, edi
mov dword [esi + 0x30], eax
jmp 0x100ba87b
mov eax, dword [esi + 0x34]
mov ecx, dword [eax]
mov eax, dword [esi + 0x80]
add eax, edi
mov dword [ecx + ebx*4], eax
inc dword [edx]
mov eax, dword [esi + 0x30]
inc edi
cmp edi, 0x20
je 0x100ba830
mov dword [esi + 0x40], edi
mov edi, dword [esi + 0xa0]
mov ebx, dword [esi + 0x40]
bt edi, ebx
mov edi, dword [esi + 0x40]
jae 0x100ba875
mov ebx, dword [edx]
cmp ebx, dword [edx + 4]
jne 0x100ba860
test ebx, ebx
je 0x100ba8b1
mov eax, ebx
shr eax, 0x1f
add eax, ebx
sar eax, 1
add eax, ebx
mov dword [esi + 0x448], 6
jmp 0x100ba8b6
mov eax, 8
mov edx, dword [esi + 0x3c]
inc ebx
cmp eax, ebx
cmovg ebx, eax
mov dword [esi + 0x20], ebx
lea eax, [ebx*4]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], edx
mov dword [esi + 0x448], 6
push eax
call fcn.1009b6d0
mov ebx, dword [esi + 0x3c]
add esp, 4
mov edi, dword [esi + 0x34]
mov edx, dword [edi]
test edx, edx
je 0x100ba930
mov ecx, dword [esi + 0xd0]
mov ecx, dword [ecx]
shl ecx, 2
push ecx
push edx
push eax
mov dword [esi + 0x2c], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], ebx
push eax
call fcn.1009b700
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x34]
add esp, 4
mov dword [edi], eax
mov ecx, eax
mov edx, dword [esi + 0xd0]
mov eax, dword [esi + 0x20]
mov dword [edx + 4], eax
mov ebx, dword [edx]
mov edi, dword [esi + 0x40]
jmp 0x100ba865
mov edx, dword [esi + 0x130]
test edx, edx
jne 0x100ba6c0
jmp 0x100ba702
xor edx, edx
jmp 0x100ba981
mov eax, dword [esi + 0xa0]
mov dword [eax + 8], 0
mov edx, dword [esi + 0x40]
inc edx
cmp edx, dword [esi + 0xf8]
jge 0x100ba9da
lea ecx, [edx + edx*2]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + ecx*8 + 0x14]
test eax, eax
je 0x100ba980
mov dword [esi + 0x40], edx
mov edx, dword [esi + 0x1c]
lea ecx, [edx + ecx*8]
add ecx, 0xc
mov dword [ecx + 4], 0
mov dword [esi + 0xa0], ecx
mov dword [ecx], 0
mov dword [esi + 0x98], edx
mov dword [esi + 0x9c], edi
mov dword [esi + 0x448], 6
push eax
call fcn.1009b700
mov edi, dword [esi + 0x3c]
add esp, 4
jmp 0x100ba970
cmp dword [esi + 0x1c], 0
je 0x100baa02
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], edi
mov dword [esi + 0x448], 6
push eax
call fcn.1009b700
add esp, 4
mov dword [esi + 0x120], 0
mov dword [esi + 0x11c], 0
mov dword [esi + 0x124], 0
mov dword [esi + 0x168], 0
mov dword [esi + 0x164], 0
mov dword [esi + 0x16c], 0
mov ecx, dword [esi + 0x38]
test ecx, ecx
jle 0x100baab7
cmp ecx, 9
mov eax, 8
cmovge eax, ecx
mov dword [esi + 0x40], eax
shl eax, 4
mov dword [esi + 0x448], 7
push eax
mov dword [esi + 0x38], ecx
call fcn.1009b6d0
add esp, 4
mov dword [esi + 0x124], eax
mov edx, dword [esi + 0x40]
mov dword [esi + 0x120], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x11c], ecx
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
push ecx
mov dword [esi + 0xa0], eax
call fcn.1009b6d0
mov edx, dword [esi + 0xa0]
add esp, 4
mov ebx, eax
mov dword [esi + 0x16c], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x168], eax
mov edi, dword [esi + 0x38]
jmp 0x100baac3
mov dword [esi + 0x11c], ecx
mov edi, ecx
xor ebx, ebx
xor edx, edx
mov dword [esi + 0x164], 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 + 0xbc], 0
jle 0x100badc2
xor ecx, ecx
vbroadcastss xmm0, dword [0x10144e60]
vmovaps xmmword [esi + 0x130], xmm0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x38], 0
xor edx, edx
mov ebx, dword [esi + 0x3c]
jmp 0x100bab43
mov edx, dword [esi + 0x78]
mov ebx, dword [esi + 0x3c]
inc edx
cmp edx, dword [esi + 0xbc]
je 0x100badc4
imul eax, edx, 0xc4
mov edi, dword [ebx + eax + 0xa8]
mov dword [esi + 0x30], edi
test edi, edi
je 0x100bab36
mov dword [esi + 0xa0], ecx
mov ecx, dword [esi + 0x2c]
shl ecx, 4
add ecx, dword [esi + 0x124]
mov dword [ebx + eax + 0x94], ecx
mov edi, edx
mov edx, dword [esi + 0x38]
lea ecx, [edx + edx*8]
lea ebx, [ecx + ecx*2]
add ebx, edx
add ebx, dword [esi + 0x16c]
mov ecx, dword [esi + 0x3c]
mov dword [ecx + eax + 0x98], ebx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x54]
mov dword [esi + 0x80], ecx
mov dword [esi + 0x78], edi
imul edi, edi, 0x78
vmovss xmm0, dword [ecx + edi + 0x10]
mov ecx, dword [esi + 0x3c]
vmovss dword [ecx + eax + 0x7c], xmm0
mov ecx, dword [esi + 0x3c]
mov dword [ecx + eax + 0x80], 0
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + eax + 0xb8]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + eax + 0xc0]
mov edx, dword [esi + 0x3c]
mov dword [edx + eax + 0x84], ecx
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
mov dword [ecx + eax + 0x88], edx
mov ecx, dword [esi + 0x3c]
mov dword [ecx + eax + 0x8c], ebx
mov edx, dword [esi + 0x3c]
mov ebx, dword [esi + 0x80]
movzx ecx, byte [ebx + edi + 0x14]
mov byte [edx + eax + 0x90], cl
movzx ecx, byte [ebx + edi + 0x18]
mov byte [edx + eax + 0x91], cl
mov dword [esi + 0x20], eax
add edx, eax
mov dword [esi + 0x1c], edi
vmovss xmm0, dword [ebx + edi + 0x10]
vucomiss xmm0, dword [0x10145a74]
mov dword [esi + 0x34], edx
jbe 0x100bac60
mov ebx, dword [edx + 4]
mov edx, dword [edx + 0x1c]
movzx ecx, byte [ebx + edx + 4]
shl ecx, 8
movzx eax, byte [ebx + edx + 5]
movsx ecx, cx
or ecx, eax
movzx edi, byte [ebx + edx + 6]
movzx edx, byte [ebx + edx + 7]
shl edi, 8
movsx edi, di
or edi, edx
sub ecx, edi
jmp 0x100bac78
vxorps xmm0, xmm0, xmmword [esi + 0x130]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0x14]
movbe cx, word [ecx + edx + 0x12]
movzx ecx, cx
vcvtsi2ss xmm1, xmm3, ecx
vdivss xmm0, xmm0, xmm1
mov ecx, dword [esi + 0x30]
add dword [esi + 0x2c], ecx
add dword [esi + 0x38], ecx
cmp dword [esi + 0x40], 0
mov ecx, dword [esi + 0xa0]
mov eax, dword [esi + 0x20]
jle 0x100bab30
mov edx, dword [esi + 0x3c]
add eax, edx
add eax, 0x94
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x80]
mov edx, dword [esi + 0x1c]
lea eax, [eax + edx + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x80], eax
xor ebx, ebx
xor edx, edx
vmovss dword [esi + 0xd0], xmm0
nop word cs:[eax + eax]
mov dword [esi + 0x40], edx
mov dword [esi + 0xa0], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x2c]
mov ecx, dword [esi + 0x40]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esi + 0x34]
call fcn.100bf690
mov edi, dword [esi + 0x1c]
vcvtsi2ss xmm0, xmm3, dword [edi + 4]
vmovss xmm2, dword [esi + 0xd0]
vmulss xmm1, xmm2, xmm0
vcvtsi2ss xmm0, xmm3, dword [edi]
vmulss xmm0, xmm2, xmm0
mov ecx, dword [esi + 0x34]
mov edx, eax
lea eax, [esi + 0xfc]
push eax
lea eax, [esi + 0x100]
push eax
lea eax, [esi + 0xcc]
push eax
lea eax, [esi + 0x1e8]
push eax
call fcn.100bf960
add esp, 0x10
mov eax, dword [edi]
mov ecx, dword [esi + 0x100]
add ecx, dword [esi + 0x80]
sub ecx, dword [esi + 0x1e8]
add eax, ecx
dec eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
mov edx, dword [esi + 0x20]
mov word [ecx + ebx + 4], dx
mov edi, dword [edi + 4]
mov ecx, dword [esi + 0xfc]
add ecx, dword [esi + 0x80]
mov edx, dword [esi + 0x40]
sub ecx, dword [esi + 0xcc]
add ecx, edi
dec ecx
mov dword [esi + 0x20], ecx
mov edi, eax
mov ecx, dword [eax]
mov eax, dword [esi + 0x20]
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 + 0xa0]
add ecx, eax
inc edx
add ebx, 0x10
cmp edx, dword [edi + 0x24]
jl 0x100bace0
mov ebx, dword [esi + 0x3c]
mov edx, dword [esi + 0x78]
jmp 0x100bab36
xor ecx, ecx
vcvtsi2ss xmm0, xmm3, ecx
vcvtss2sd xmm0, xmm0, xmm0
vxorps xmm1, xmm1, xmm1
vucomisd xmm0, xmm1
jb 0x100baddc
vsqrtsd xmm0, xmm0, xmm0
jmp 0x100badfa
sub esp, 8
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esi + 0x1d8]
vmovsd xmm0, qword [esi + 0x1d8]
mov eax, dword [ebp + 8]
mov dword [eax + 0x20], 0
mov ecx, dword [eax + 0xc]
test ecx, ecx
jg 0x100bae48
vcvtsd2ss xmm0, xmm0, xmm0
vcvttss2si eax, xmm0
mov ecx, 0x1000
cmp eax, 0xb32
jg 0x100bae48
mov ecx, 0x800
cmp eax, 0x598
jg 0x100bae48
xor ecx, ecx
cmp eax, 0x2cc
setge cl
shl ecx, 9
add ecx, 0x200
mov dword [esi + 0x448], 7
mov eax, dword [ebp + 8]
mov dword [esi + 0x34], ecx
mov dword [eax + 0x1c], ecx
mov eax, dword [eax + 0x10]
mov dword [esi + 0xf4], eax
mov dword [esi + 0x448], 7
push 0x30
call fcn.1009b6d0
add esp, 4
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0x34]
sub eax, dword [esi + 0xf4]
mov dword [esi + 0xa0], eax
lea eax, [eax*8]
push eax
call fcn.1009b6d0
add esp, 4
mov dword [esi + 0xe8], eax
cmp dword [esi + 0xe0], 0
mov eax, dword [esi + 0xe8]
je 0x100bafd3
test eax, eax
je 0x100bafd3
mov ecx, 0x8000
sub ecx, dword [esi + 0xf4]
mov dword [esi + 0x30], ecx
mov ebx, dword [esi + 0xa0]
lea ecx, [ebx - 1]
mov dword [esi + 0x40], ecx
xor ecx, ecx
cmp ebx, 2
jl 0x100baf6c
lea ecx, [ebx - 2]
mov edx, dword [esi + 0x40]
and edx, 7
xor edi, edi
cmp ecx, 7
jb 0x100baf39
mov eax, dword [esi + 0x40]
and eax, 0xfffffff8
xor edi, edi
mov ecx, dword [esi + 0xe8]
nop word [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 0x100baf00
mov ecx, dword [esi + 0x40]
test edx, edx
mov eax, dword [esi + 0xe8]
mov ebx, dword [esi + 0xa0]
je 0x100baf6c
lea ecx, [eax + edi*8]
add ecx, 8
nop word cs:[eax + eax]
mov dword [ecx - 4], ecx
add ecx, 8
dec edx
jne 0x100baf60
mov ecx, dword [esi + 0x40]
mov dword [eax + ecx*8 + 4], 0
mov ecx, dword [esi + 0xe0]
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 + 0x30]
mov dword [ecx + 4], eax
mov dword [ecx + 0x14], ebx
mov eax, dword [esi + 0x40]
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 + 0x448], 7
jmp 0x100bb049
cmp dword [esi + 0xe0], 0
je 0x100bafea
push dword [esi + 0xe0]
call fcn.1009b700
add esp, 4
mov eax, dword [esi + 0xe8]
test eax, eax
je 0x100bb024
mov dword [esi + 0xf4], 0
push eax
call fcn.1009b700
add esp, 4
mov dword [esi + 0xe8], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0xe0], 0
jmp 0x100bb049
mov dword [esi + 0xe8], 0
mov dword [esi + 0xf4], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0xe0], 0
push dword [esi + 0xe0]
push dword [ebp + 8]
call fcn.100bfb70
add esp, 8
cmp dword [esi + 0xbc], 0
jle 0x100bb117
xor eax, eax
jmp 0x100bb080
mov eax, dword [esi + 0x30]
inc eax
cmp eax, dword [esi + 0xbc]
je 0x100bb117
mov dword [esi + 0x30], eax
imul ebx, eax, 0xc4
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + ebx + 0xa8]
test eax, eax
je 0x100bb070
mov ecx, dword [esi + 0x3c]
lea edi, [ecx + ebx]
add edi, 0xa8
mov edx, dword [ecx + ebx + 0x94]
mov ecx, dword [esi + 0xe0]
push eax
call fcn.100bfd30
add esp, 4
mov dword [esi + 0xa0], edi
mov edi, dword [edi]
test edi, edi
jle 0x100bb070
mov eax, dword [esi + 0x3c]
add eax, ebx
add eax, 0x94
mov dword [esi + 0x40], eax
xor ecx, ecx
mov edx, 0xc
jmp 0x100bb0e8
inc ecx
add edx, 0x10
cmp ecx, edi
jge 0x100bb070
mov eax, dword [esi + 0x40]
mov ebx, dword [eax]
cmp dword [ebx + edx], 0
je 0x100bb0e0
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 + 0xa0]
mov edi, dword [eax]
jmp 0x100bb0e0
mov eax, dword [ebp + 8]
test byte [eax + 4], 1
mov eax, dword [eax + 0x20]
jne 0x100bb150
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 + 0x448], 7
inc eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x20], eax
mov ecx, dword [edx + 0x1c]
vmovd xmm0, ecx
vpinsrd xmm0, xmm0, eax, 1
vcvtdq2ps xmm0, xmm0
vbroadcastss xmm1, dword [0x10144ae0]
vdivps xmm0, xmm1, xmm0
vmovlps qword [edx + 0x24], xmm0
imul eax, ecx
mov dword [esi + 0x448], 7
push eax
call fcn.1009b6d0
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 + 0x144], eax
vmovd xmm0, dword [esi + 0xf4]
vpbroadcastw xmm0, xmm0
vmovdqa xmmword [esi + 0x420], xmm0
mov eax, dword [esi + 0x34]
add eax, eax
xor edi, edi
vxorps xmm4, xmm4, xmm4
mov dword [esi + 0x2c], eax
jmp 0x100bb1ee
vpxor xmm4, xmm4, xmm4
mov eax, dword [esi + 0x78]
mov dword [eax], 0
inc edi
cmp edi, dword [esi + 0xbc]
jge 0x100be969
imul ecx, edi, 0xc4
mov edx, dword [esi + 0x3c]
cmp dword [edx + ecx + 0xa8], 0
je 0x100bb1ed
mov eax, edi
mov edx, dword [esi + 0x3c]
lea edi, [edx + ecx]
mov dword [esi + 0x104], ecx
vmovss xmm0, dword [edx + ecx + 0x7c]
vucomiss xmm0, xmm4
mov dword [esi + 0x15c], eax
mov dword [esi + 0x184], edi
jbe 0x100bb270
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
mov edx, dword [esi + 0x15c]
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm1, xmm5, ecx
jmp 0x100bb297
mov edx, eax
vbroadcastss xmm1, dword [0x10144e60]
vxorps xmm0, xmm0, xmm1
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x14]
movbe ax, word [eax + ecx + 0x12]
movzx eax, ax
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm1, xmm5, eax
vdivss xmm0, xmm0, xmm1
vmovss dword [esi + 0x154], xmm0
mov ecx, dword [esi + 0x104]
mov eax, dword [esi + 0x3c]
add eax, ecx
add eax, 0x90
movzx eax, byte [eax]
mov edi, 1
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm0, xmm5, eax
sub edi, eax
vxorps xmm1, xmm1, xmm1
vmovss dword [esi + 0x17c], xmm1
vmovss dword [esi + 0x178], xmm1
mov dword [esi + 0x30], eax
test eax, eax
je 0x100bb2f8
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm1, xmm5, edi
vaddss xmm2, xmm0, xmm0
vdivss xmm1, xmm1, xmm2
vmovss dword [esi + 0x178], xmm1
mov dword [esi + 0x1ac], edi
mov eax, dword [esi + 0x3c]
add eax, ecx
add eax, 0x91
movzx eax, byte [eax]
movzx edi, al
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm1, xmm5, edi
mov ecx, 1
mov dword [esi + 0xa0], edi
sub ecx, edi
mov byte [esi + 0xf3], al
test al, al
je 0x100bb345
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm2, xmm5, ecx
vaddss xmm3, xmm1, xmm1
vdivss xmm2, xmm2, xmm3
vmovss dword [esi + 0x17c], xmm2
mov dword [esi + 0x19c], ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x54]
mov dword [esi + 0x198], eax
mov eax, dword [esi + 0x104]
mov ecx, dword [esi + 0x3c]
add eax, ecx
add eax, 0x88
mov dword [esi + 0x1c8], eax
mov eax, dword [eax]
test eax, eax
mov edi, edx
jle 0x100bde90
mov ecx, dword [esi + 0x3c]
mov edi, dword [esi + 0x104]
mov edi, dword [ecx + edi + 0x94]
mov dword [esi + 0x110], edi
mov edi, dword [esi + 0x104]
lea ecx, [ecx + edi + 0x8c]
mov dword [esi + 0x1c4], ecx
mov edi, edx
vmovss xmm2, dword [0x10144ae0]
vdivss xmm3, xmm2, xmm0
vmovss dword [esi + 0x1c0], xmm3
vdivss xmm2, xmm2, xmm1
vmovss dword [esi + 0x1bc], xmm2
vmovss xmm2, dword [esi + 0x154]
vmulss xmm3, xmm2, xmm1
vmulss xmm0, xmm2, xmm0
vmovss dword [esi + 0x158], xmm0
vminss xmm0, xmm3, xmm0
vmovss xmm1, dword [0x10146f88]
vdivss xmm0, xmm1, xmm0
vmulss xmm0, xmm0, xmm0
vmovss dword [esi + 0xf8], xmm0
vbroadcastss xmm0, dword [0x10144e60]
vmovaps xmmword [esi + 0x3f0], xmm3
vmovaps xmmword [esi + 0x410], xmm0
vxorps xmm0, xmm3, xmm0
vmovaps xmmword [esi + 0x400], xmm0
mov ecx, dword [esi + 0x30]
lea ecx, [ecx*4]
mov ebx, 4
sub ebx, ecx
mov dword [esi + 0x194], ebx
mov ecx, dword [esi + 0x110]
xor edx, edx
jmp 0x100bb552
mov eax, dword [esi + 0x7c]
movzx eax, word [eax]
mov edx, dword [esi + 0xc8]
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
mov ebx, dword [esi + 0x1d4]
lea edx, [ebx + ecx]
mov word [edx], ax
mov edi, dword [esi + 0x7c]
movzx eax, word [edi + 2]
mov word [ebx + ecx + 2], ax
mov edx, dword [esi + 0x114]
movzx eax, word [edx]
add ax, word [edi]
mov word [ebx + ecx + 4], ax
movzx eax, word [edx + 2]
add ax, word [edi + 2]
mov word [ebx + ecx + 6], ax
movsx eax, word [esi + 0x172]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vmulss xmm0, xmm0, dword [esi + 0x154]
vmovss dword [ebx + ecx + 0x10], xmm0
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, dword [esi + 0x18c]
vmovss xmm2, dword [esi + 0x178]
vmovss xmm3, dword [esi + 0x1c0]
vfmadd213ss xmm0, xmm3, xmm2
vmovss dword [ebx + ecx + 8], xmm0
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, dword [esi + 0x188]
vmovss xmm1, dword [esi + 0x17c]
vmovss xmm5, dword [esi + 0x1bc]
vfmadd213ss xmm0, xmm5, xmm1
vmovss dword [ebx + ecx + 0xc], xmm0
movzx eax, word [edx]
add eax, dword [esi + 0x18c]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vfmadd213ss xmm0, xmm3, xmm2
vmovss dword [ebx + ecx + 0x14], xmm0
movzx eax, word [edx + 2]
add eax, dword [esi + 0x188]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vfmadd213ss xmm0, xmm5, xmm1
vmovss dword [ebx + ecx + 0x18], xmm0
mov eax, dword [esi + 0x1c8]
mov eax, dword [eax]
mov edi, dword [esi + 0x15c]
mov ecx, dword [esi + 0x110]
mov edx, dword [esi + 0xc8]
inc edx
cmp edx, eax
jge 0x100bde90
mov ebx, edx
mov dword [esi + 0xc8], edx
shl edx, 4
cmp dword [ecx + edx + 0xc], 0
je 0x100bb543
movzx ebx, word [ecx + edx + 4]
test bx, bx
je 0x100bb543
mov dword [esi + 0x40], eax
mov eax, edi
movzx edi, word [ecx + edx + 6]
mov dword [esi + 0x80], edi
test di, di
mov edi, eax
mov eax, dword [esi + 0x40]
je 0x100bb543
mov dword [esi + 0x160], edx
lea eax, [ecx + edx]
add eax, 4
mov dword [esi + 0x114], eax
mov ecx, dword [esi + 0x1c4]
mov eax, dword [ecx]
mov dword [esi + 0x1d4], eax
mov eax, dword [ecx - 8]
test eax, eax
je 0x100bb5ba
mov ecx, dword [esi + 0xc8]
mov edx, dword [eax + ecx*4]
jmp 0x100bb5c3
mov edx, dword [ecx - 0xc]
add edx, dword [esi + 0xc8]
mov dword [esi + 0x448], 7
mov edi, dword [esi + 0x184]
mov ecx, edi
vzeroupper
call fcn.100bf690
mov ecx, dword [esi + 0x110]
mov edx, dword [esi + 0x160]
vmovd xmm0, dword [ecx + edx + 8]
vpaddw xmm0, xmm0, xmmword [esi + 0x420]
vmovd dword [ecx + edx + 8], xmm0
mov ecx, dword [esi + 0xf4]
sub ebx, ecx
mov edx, dword [esi + 0x114]
mov word [edx], bx
mov ebx, edx
mov edx, dword [esi + 0x80]
sub edx, ecx
mov word [ebx + 2], dx
mov edx, dword [edi + 4]
mov ecx, dword [edi + 0x1c]
movbe cx, word [edx + ecx + 0x22]
add edx, dword [edi + 0x20]
movzx ecx, cx
mov ebx, eax
lea eax, [eax*4]
cmp ecx, ebx
lea ecx, [ecx*4 - 4]
cmovg ecx, eax
movbe ax, word [ecx + edx]
mov word [esi + 0x172], ax
mov ecx, edi
mov edx, ebx
vmovss xmm0, dword [esi + 0x158]
vmovaps xmm1, xmmword [esi + 0x3f0]
lea eax, [esi + 0x1e0]
push eax
lea eax, [esi + 0x1e4]
push eax
lea eax, [esi + 0x188]
push eax
lea eax, [esi + 0x18c]
push eax
call fcn.100bf960
add esp, 0x10
mov ecx, dword [esi + 0x114]
movzx eax, word [ecx + 2]
mov dword [esi + 0x108], eax
movzx eax, word [ecx]
mov dword [esi + 0xe4], eax
mov ecx, dword [esi + 0x160]
mov edx, dword [esi + 0x110]
movzx eax, word [edx + ecx + 8]
mov dword [esi + 0x80], eax
movzx eax, word [edx + ecx + 0xa]
mov dword [esi + 0xc4], eax
mov ecx, edi
mov dword [esi + 0x40], ebx
mov edx, ebx
lea eax, [esi + 0x190]
push eax
call fcn.100c3c90
add esp, 4
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0xa0]
neg eax
mov dword [esi + 0x1cc], eax
mov ecx, dword [esi + 0x108]
lea edi, [ecx + eax]
inc edi
mov eax, dword [esi + 0x30]
neg eax
mov dword [esi + 0x180], eax
mov ecx, dword [esi + 0x184]
mov edx, dword [esi + 0x40]
vmovd xmm0, dword [esi + 0x158]
vmovdqa xmm1, xmmword [esi + 0x3f0]
push 0
push 0
lea eax, [esi + 0xfc]
push eax
lea eax, [esi + 0x100]
push eax
call fcn.100bf960
add esp, 0x10
mov dword [esi + 0x70], edi
test edi, edi
je 0x100bbd4e
mov eax, dword [esi + 0x180]
mov ecx, dword [esi + 0xe4]
add eax, ecx
inc eax
mov dword [esi + 0x150], eax
test eax, eax
je 0x100bbd4e
mov eax, dword [esi + 0xfc]
mov dword [esi + 0x174], eax
mov eax, dword [esi + 0x100]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0x190]
mov dword [esi + 0xd0], eax
mov dword [esi + 0x1e8], 0
cmp dword [esi + 0x1c], 0
jle 0x100bbd44
xor edi, edi
mov eax, 0
cmp dword [esi + 0x1c], 0x20
jb 0x100bb992
mov eax, dword [esi + 0x1c]
and eax, 0xffffffe0
mov ecx, dword [esi + 0xd0]
add ecx, 0x1be
vpxor xmm0, xmm0, xmm0
mov edx, eax
vpxor xmm1, xmm1, xmm1
vxorps xmm2, xmm2, xmm2
vxorps xmm3, xmm3, xmm3
vpbroadcastb xmm6, byte [0x1014a278]
nop word cs:[eax + eax]
movzx edi, byte [ecx - 0x1b2]
vmovd xmm4, edi
vpinsrb xmm4, xmm4, byte [ecx - 0x1a4], 1
vpinsrb xmm4, xmm4, byte [ecx - 0x196], 2
vpinsrb xmm4, xmm4, byte [ecx - 0x188], 3
vpinsrb xmm4, xmm4, byte [ecx - 0x17a], 4
vpinsrb xmm4, xmm4, byte [ecx - 0x16c], 5
vpinsrb xmm4, xmm4, byte [ecx - 0x15e], 6
vpinsrb xmm4, xmm4, byte [ecx - 0x150], 7
movzx edi, byte [ecx - 0x142]
vpcmpeqb xmm5, xmm4, xmm6
vpbroadcastd ymm4, dword [0x10147a00]
vpmovzxbd ymm5, xmm5
vpand ymm5, ymm5, ymm4
vpaddd ymm0, ymm0, ymm5
vmovd xmm5, edi
vpinsrb xmm5, xmm5, byte [ecx - 0x134], 1
vpinsrb xmm5, xmm5, byte [ecx - 0x126], 2
vpinsrb xmm5, xmm5, byte [ecx - 0x118], 3
vpinsrb xmm5, xmm5, byte [ecx - 0x10a], 4
vpinsrb xmm5, xmm5, byte [ecx - 0xfc], 5
vpinsrb xmm5, xmm5, byte [ecx - 0xee], 6
vpinsrb xmm5, xmm5, byte [ecx - 0xe0], 7
movzx edi, byte [ecx - 0xd2]
vpcmpeqb xmm5, xmm5, xmm6
vpmovzxbd ymm5, xmm5
vpand ymm5, ymm5, ymm4
vpaddd ymm1, ymm1, ymm5
vmovd xmm5, edi
vpinsrb xmm5, xmm5, byte [ecx - 0xc4], 1
vpinsrb xmm5, xmm5, byte [ecx - 0xb6], 2
vpinsrb xmm5, xmm5, byte [ecx - 0xa8], 3
vpinsrb xmm5, xmm5, byte [ecx - 0x9a], 4
vpinsrb xmm5, xmm5, byte [ecx - 0x8c], 5
vpinsrb xmm5, xmm5, byte [ecx - 0x7e], 6
vpinsrb xmm5, xmm5, byte [ecx - 0x70], 7
movzx edi, byte [ecx - 0x62]
vpcmpeqb xmm5, xmm5, xmm6
vpmovzxbd ymm5, xmm5
vpand ymm5, ymm5, ymm4
vpaddd ymm2, ymm2, ymm5
vmovd xmm5, edi
vpinsrb xmm5, xmm5, byte [ecx - 0x54], 1
vpinsrb xmm5, xmm5, byte [ecx - 0x46], 2
vpinsrb xmm5, xmm5, byte [ecx - 0x38], 3
vpinsrb xmm5, xmm5, byte [ecx - 0x2a], 4
vpinsrb xmm5, xmm5, byte [ecx - 0x1c], 5
vpinsrb xmm5, xmm5, byte [ecx - 0xe], 6
vpinsrb xmm5, xmm5, byte [ecx], 7
vpcmpeqb xmm5, xmm5, xmm6
vpmovzxbd ymm5, xmm5
vpand ymm4, ymm5, ymm4
vpaddd ymm3, ymm3, ymm4
add ecx, 0x1c0
add edx, 0xffffffe0
jne 0x100bb7e0
vpaddd ymm0, ymm1, ymm0
vpaddd ymm0, ymm2, ymm0
vpaddd ymm0, ymm3, ymm0
vextracti128 xmm1, ymm0, 1
vpaddd xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0xee
vpaddd xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0x55
vpaddd xmm0, xmm0, xmm1
vmovd edi, xmm0
cmp dword [esi + 0x1c], eax
je 0x100bb9c0
mov ecx, dword [esi + 0x1c]
sub ecx, eax
lea edx, [eax + eax]
shl eax, 4
sub eax, edx
mov edx, dword [esi + 0xd0]
add eax, edx
add eax, 0xc
nop word [eax + eax]
xor edx, edx
cmp byte [eax], 1
sete dl
add edi, edx
add eax, 0xe
dec ecx
jne 0x100bb9b0
mov eax, edi
mov dword [esi + 0xc0], edi
test edi, edi
je 0x100bbd44
mov eax, dword [esi + 0xc0]
lea eax, [eax*4]
mov dword [esi + 0x448], 7
push eax
vzeroupper
call fcn.1009b6d0
add esp, 4
mov dword [esi + 0x74], eax
cmp dword [esi + 0x74], 0
je 0x100bbd44
mov eax, dword [esi + 0x108]
sub eax, dword [esi + 0xa0]
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0xe4]
sub eax, dword [esi + 0x30]
mov dword [esi + 0x130], eax
mov ecx, dword [esi + 0x80]
add ecx, dword [esi + 0x144]
mov eax, dword [esi + 0xc4]
imul eax, dword [esi + 0x34]
add eax, ecx
mov dword [esi + 0xc4], eax
xor eax, eax
mov cl, 1
mov dword [esi + 0x80], 0
xor edi, edi
jmp 0x100bba88
mov edi, ecx
mov eax, dword [esi + 0x1e8]
sub eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x40]
mov dword [ecx + edx*4], eax
mov al, 1
test byte [esi + 0x20], 1
mov ecx, 0
je 0x100bbc9e
mov dword [esi + 0x20], ecx
test al, 1
mov ecx, edi
je 0x100bbab7
mov eax, dword [esi + 0x1e8]
shl eax, 3
mov dword [esi + 0x448], 7
push eax
call fcn.1009b6d0
add esp, 4
mov ecx, eax
test eax, eax
je 0x100bbd2f
mov dword [esi + 0x1e8], 0
vpxor xmm0, xmm0, xmm0
mov dword [esi + 0x40], 0xffffffff
mov ebx, dword [esi + 0x1c]
mov edi, dword [esi + 0xd0]
mov dword [esi + 0x38], ecx
jmp 0x100bbb65
movsx eax, word [edi + 2]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, eax
movsx eax, word [edi]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm4, xmm7, eax
movsx eax, word [edi + 6]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm5, xmm7, eax
movsx eax, word [edi + 4]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm2, xmm7, eax
vmovshdup xmm1, xmm0
sub esp, 0x14
vmovss xmm6, dword [esi + 0xf8]
vmovss dword [esp + 0xc], xmm6
vmovss dword [esp + 8], xmm3
vmovss dword [esp + 4], xmm4
vmovss dword [esp], xmm5
mov dword [esp + 0x10], 0
lea edx, [esi + 0x1e8]
call fcn.100c4b90
mov ecx, dword [esi + 0x38]
add esp, 0x14
vmovd xmm0, dword [edi]
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
add edi, 0xe
dec ebx
je 0x100bba60
movzx eax, byte [edi + 0xc]
dec eax
cmp eax, 3
mov edx, dword [esi + 0x40]
ja case.default.0x100bbb72
jmp dword [eax*4 + 0x10150938]
mov eax, dword [esi + 0x1e8]
test edx, edx
js 0x100bbc69
sub eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x1e8]
jmp 0x100bbc6b
movsx eax, word [edi + 2]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm3, xmm7, eax
movsx eax, word [edi]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm4, xmm7, eax
movsx eax, word [edi + 0xa]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm5, xmm7, eax
movsx eax, word [edi + 8]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm6, xmm7, eax
movsx eax, word [edi + 6]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm7, xmm7, eax
movsx eax, word [edi + 4]
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
vmovshdup xmm1, xmm0
sub esp, 0x1c
vmovss dword [esp + 0x10], xmm3
vmovss dword [esp + 0xc], xmm4
vmovss dword [esp + 8], xmm5
vmovss dword [esp + 4], xmm6
vmovss dword [esp], xmm7
vmovss xmm3, dword [esi + 0xf8]
vmovss dword [esp + 0x14], xmm3
mov dword [esp + 0x18], 0
lea edx, [esi + 0x1e8]
call fcn.100c4e20
mov ecx, dword [esi + 0x38]
add esp, 0x1c
jmp 0x100bbb4e
mov eax, dword [esi + 0x1e8]
mov edx, ecx
lea ecx, [eax + 1]
vmovd xmm0, dword [edi]
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
mov dword [esi + 0x1e8], ecx
mov ecx, edx
test edx, edx
je case.default.0x100bbb72
vmovlps qword [ecx + eax*8], xmm0
jmp case.default.0x100bbb72
mov ecx, eax
lea eax, [ecx + 1]
vmovd xmm0, dword [edi]
mov dword [esi + 0x1e8], eax
inc edx
mov dword [esi + 0x40], edx
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
mov eax, dword [esi + 0x38]
test eax, eax
mov dword [esi + 0x80], ecx
je 0x100bbc97
vmovlps qword [eax + ecx*8], xmm0
mov ecx, eax
jmp case.default.0x100bbb72
test edi, edi
je 0x100bbd4e
xor ecx, ecx
mov eax, 0
mov edi, dword [esi + 0xc0]
cmp edi, 0x20
mov edx, dword [esi + 0x74]
jb 0x100bc5c0
mov eax, edi
and eax, 0xffffffe0
vxorps xmm0, xmm0, xmm0
xor ecx, ecx
vpxor xmm1, xmm1, xmm1
vpxor xmm2, xmm2, xmm2
vpxor xmm3, xmm3, xmm3
nop word cs:[eax + eax]
vpaddd ymm0, ymm0, ymmword [edx + ecx*4]
vpaddd ymm1, ymm1, ymmword [edx + ecx*4 + 0x20]
vpaddd ymm2, ymm2, ymmword [edx + ecx*4 + 0x40]
vpaddd ymm3, ymm3, ymmword [edx + ecx*4 + 0x60]
add ecx, 0x20
cmp eax, ecx
jne 0x100bbce0
vpaddd ymm0, ymm1, ymm0
vpaddd ymm1, ymm3, ymm2
vpaddd ymm0, ymm1, ymm0
vextracti128 xmm1, ymm0, 1
vpaddd xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0xee
vpaddd xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0x55
vpaddd xmm0, xmm0, xmm1
vmovd ecx, xmm0
jmp 0x100bc5c4
push 0
call fcn.1009b700
add esp, 4
push dword [esi + 0x74]
call fcn.1009b700
add esp, 4
mov dword [esi + 0x448], 7
mov eax, dword [esi + 0x190]
mov dword [esi + 0x448], 7
push eax
vzeroupper
call fcn.1009b700
add esp, 4
mov eax, dword [esi + 0x110]
mov ecx, dword [esi + 0x160]
lea edx, [eax + ecx]
add edx, 8
movzx eax, word [edx]
mov word [esi + 0x40], ax
mov eax, dword [esi + 0x30]
cmp al, 2
mov dword [esi + 0x7c], edx
jb 0x100bc1f7
mov ecx, dword [esi + 0x114]
movzx edi, word [ecx + 2]
movzx ecx, word [ecx]
movzx ebx, word [edx + 2]
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1e8], 0
mov dword [esi + 0x24], edi
test edi, edi
mov edi, dword [esi + 0x1ac]
je 0x100bc1f7
movzx eax, word [esi + 0x40]
add eax, dword [esi + 0x144]
imul ebx, dword [esi + 0x34]
add ebx, eax
mov dword [esi + 0x40], ebx
mov eax, ecx
sub eax, dword [esi + 0x30]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x180]
add eax, ecx
inc eax
mov dword [esi + 0x20], eax
mov ebx, eax
and ebx, 0xfffffffe
mov eax, ecx
neg eax
mov dword [esi + 0x74], eax
add edi, ecx
xor eax, eax
mov edx, ecx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0xd0], edi
mov dword [esi + 0x80], ecx
jmp 0x100bbe36
add ebx, dword [esi + 0x34]
mov dword [esi + 0x40], ebx
mov eax, dword [esi + 0x130]
inc eax
cmp eax, dword [esi + 0x24]
je 0x100bc1ed
mov dword [esi + 0x130], eax
mov ebx, dword [esi + 0x30]
push ebx
push 0
lea eax, [esi + 0x1e8]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
movzx eax, bl
add eax, 0xfffffffe
cmp eax, 3
ja case.default.0x100bbe63
mov edx, dword [esi + 0x40]
jmp dword [eax*4 + 0x10150948]
cmp dword [esi + 0x18], 0
js 0x100bc140
xor ecx, ecx
mov ebx, 0
mov eax, dword [esi + 0x30]
cmp dword [esi + 0x80], eax
je 0x100bbf18
mov eax, edx
xor ecx, ecx
xor edx, edx
mov dword [esi + 0x40], eax
nop word cs:[eax + eax]
mov eax, edx
and eax, 6
movzx eax, byte [esi + eax + 0x1e8]
mov dword [esi + 0x78], eax
lea edi, [edx + 2]
mov dword [esi + 0x38], edi
and edi, 6
mov eax, dword [esi + 0x40]
movzx ebx, byte [eax + edx]
mov byte [esi + edi + 0x1e8], bl
mov edi, ebx
sub edi, dword [esi + 0x78]
add edi, ecx
mov ecx, edi
shr ecx, 1
mov eax, dword [esi + 0x40]
mov byte [eax + edx], cl
lea ecx, [edx + 1]
and ecx, 7
movzx ebx, byte [esi + ecx + 0x1e8]
lea ecx, [edx + 3]
and ecx, 7
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edx + 1]
mov byte [esi + ecx + 0x1e8], al
mov ecx, eax
sub ecx, ebx
mov ebx, dword [esi + 0x38]
add ecx, edi
mov eax, ecx
shr eax, 1
mov edi, dword [esi + 0x40]
mov byte [edi + edx + 1], al
mov edi, dword [esi + 0x1c]
mov edx, ebx
cmp edi, ebx
jne 0x100bbea0
mov eax, dword [esi + 0x20]
mov edi, eax
test al, 1
je 0x100bc144
mov eax, dword [esi + 0x40]
movzx edx, byte [eax + ebx]
mov eax, ebx
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
lea edi, [ebx + 2]
and edi, 7
mov byte [esi + edi + 0x1e8], dl
sub edx, eax
add ecx, edx
mov eax, ecx
shr eax, 1
mov edx, dword [esi + 0x40]
mov byte [edx + ebx], al
jmp 0x100bc139
cmp dword [esi + 0x18], 0
js 0x100bc140
xor ecx, ecx
mov eax, 0
mov edx, dword [esi + 0x30]
cmp dword [esi + 0x80], edx
je 0x100bbfed
xor ecx, ecx
xor eax, eax
mov edx, dword [esi + 0x40]
movzx edx, byte [edx + eax]
mov edi, eax
and edi, 6
movzx edi, byte [esi + edi + 0x1e8]
lea ebx, [eax + 4]
and ebx, 6
mov byte [esi + ebx + 0x1e8], dl
sub edx, edi
add edx, ecx
mov ecx, edx
shr ecx, 2
mov edi, dword [esi + 0x40]
mov byte [edi + eax], cl
lea edi, [eax + 1]
mov ecx, dword [esi + 0x40]
movzx ecx, byte [ecx + eax + 1]
and edi, 7
movzx edi, byte [esi + edi + 0x1e8]
lea ebx, [eax + 5]
and ebx, 7
mov byte [esi + ebx + 0x1e8], cl
sub ecx, edi
add ecx, edx
mov edx, ecx
shr edx, 2
mov edi, dword [esi + 0x40]
mov byte [edi + eax + 1], dl
mov edx, dword [esi + 0x1c]
add eax, 2
cmp edx, eax
jne 0x100bbf80
mov edx, dword [esi + 0x20]
mov edi, edx
test dl, 1
je 0x100bc144
mov edx, dword [esi + 0x40]
movzx edx, byte [edx + eax]
mov edi, eax
and edi, 7
movzx edi, byte [esi + edi + 0x1e8]
lea ebx, [eax + 4]
and ebx, 7
mov byte [esi + ebx + 0x1e8], dl
sub edx, edi
add ecx, edx
mov edx, ecx
shr edx, 2
mov edi, dword [esi + 0x40]
mov byte [edi + eax], dl
jmp 0x100bc139
cmp dword [esi + 0x18], 0
js 0x100bc140
xor ecx, ecx
xor eax, eax
nop
mov edx, dword [esi + 0x40]
movzx edx, byte [edx + eax]
mov edi, eax
and edi, 7
movzx edi, byte [esi + edi + 0x1e8]
lea ebx, [eax + 3]
and ebx, 7
mov byte [esi + ebx + 0x1e8], dl
sub edx, edi
add ecx, edx
mov edx, ecx
mov edi, 0xaaaaaaab
mulx edx, edx, edi
shr edx, 1
mov edi, dword [esi + 0x40]
mov byte [edi + eax], dl
mov edx, dword [esi + 0x20]
inc eax
cmp edx, eax
jne 0x100bc040
mov edi, edx
jmp 0x100bc144
cmp dword [esi + 0x18], 0
js 0x100bc140
xor ecx, ecx
xor eax, eax
nop
mov edx, dword [esi + 0x40]
movzx edx, byte [edx + eax]
mov edi, eax
and edi, 7
movzx edi, byte [esi + edi + 0x1e8]
lea ebx, [eax + 5]
and ebx, 7
mov byte [esi + ebx + 0x1e8], dl
sub edx, edi
add ecx, edx
mov edx, ecx
mov edi, 0xcccccccd
mulx edx, edx, edi
shr edx, 2
mov edi, dword [esi + 0x40]
mov byte [edi + eax], dl
inc eax
cmp dword [esi + 0xd0], eax
jne 0x100bc0a0
jmp 0x100bc139
cmp dword [esi + 0x18], 0
mov edx, dword [esi + 0x40]
js 0x100bc140
xor ecx, ecx
xor edi, edi
nop word cs:[eax + eax]
movzx eax, byte [edx + edi]
mov edx, edi
and edx, 7
movzx edx, byte [esi + edx + 0x1e8]
mov ebx, dword [esi + 0x30]
add ebx, edi
and ebx, 7
mov byte [esi + ebx + 0x1e8], al
mov ebx, dword [esi + 0x30]
sub eax, edx
add ecx, eax
mov eax, ecx
xor edx, edx
div ebx
mov edx, dword [esi + 0x40]
mov byte [edx + edi], al
inc edi
cmp dword [esi + 0x20], edi
jne 0x100bc100
mov edi, dword [esi + 0x20]
jmp 0x100bc144
xor edi, edi
xor ecx, ecx
mov eax, dword [esi + 0x80]
sub eax, edi
mov ebx, dword [esi + 0x40]
jle 0x100bbe20
test al, 1
jne 0x100bc160
mov ebx, edi
jmp 0x100bc181
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0x30]
mov ebx, edi
mov edi, dword [esi + 0x40]
mov byte [edi + ebx], al
lea edi, [ebx + 1]
not ebx
cmp ebx, dword [esi + 0x74]
mov ebx, dword [esi + 0x40]
je 0x100bbe20
mov dword [esi + 0x40], ebx
nop word cs:[eax + eax]
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
mov ebx, dword [esi + 0x30]
div ebx
mov edx, dword [esi + 0x40]
mov byte [edx + edi], al
lea eax, [edi + 1]
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
div ebx
mov ebx, dword [esi + 0x40]
mov edx, dword [esi + 0x80]
mov byte [ebx + edi + 1], al
add edi, 2
cmp edx, edi
jne 0x100bc1a0
jmp 0x100bbe20
mov eax, dword [esi + 0x7c]
movzx eax, word [eax]
mov word [esi + 0x40], ax
mov edi, dword [esi + 0xa0]
mov edx, dword [esi + 0xc8]
cmp byte [esi + 0xf3], 2
jb 0x100bc5ad
mov ebx, dword [esi + 0x114]
movzx ecx, word [ebx + 2]
movzx eax, word [ebx]
mov ebx, dword [esi + 0x7c]
movzx ebx, word [ebx + 2]
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x1e8], 0
mov dword [esi + 0x130], eax
test eax, eax
vxorps xmm4, xmm4, xmm4
je 0x100bc5b1
movzx eax, word [esi + 0x40]
add eax, dword [esi + 0x144]
imul ebx, dword [esi + 0x34]
add ebx, eax
mov eax, ecx
sub eax, edi
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x1cc]
add eax, ecx
inc eax
mov dword [esi + 0x18], eax
mov eax, ecx
neg eax
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x19c]
add eax, ecx
mov dword [esi + 0x40], eax
xor eax, eax
mov edx, ecx
mov dword [esi + 0x20], ecx
jmp 0x100bc2aa
mov ebx, dword [esi + 0x38]
inc ebx
mov eax, dword [esi + 0x78]
inc eax
cmp eax, dword [esi + 0x130]
mov edi, dword [esi + 0xa0]
je 0x100bb441
mov dword [esi + 0x78], eax
push edi
push 0
lea eax, [esi + 0x1e8]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [edi - 2]
cmp eax, 3
mov dword [esi + 0x38], ebx
ja case.default.0x100bc2ce
jmp dword [eax*4 + 0x10150958]
cmp dword [esi + 0x24], 0
vxorps xmm4, xmm4, xmm4
js 0x100bc460
xor ecx, ecx
mov eax, ebx
xor edx, edx
nop dword [eax]
movzx ebx, byte [eax]
mov edi, edx
and edi, 7
movzx edi, byte [esi + edi + 0x1e8]
mov dword [esi + 0x80], edi
lea edi, [edx + 2]
and edi, 7
mov byte [esi + edi + 0x1e8], bl
sub ebx, dword [esi + 0x80]
add ecx, ebx
mov ebx, ecx
shr ebx, 1
mov byte [eax], bl
inc edx
add eax, dword [esi + 0x34]
cmp dword [esi + 0x40], edx
jne 0x100bc2f0
jmp 0x100bc4d0
cmp dword [esi + 0x24], 0
vxorps xmm4, xmm4, xmm4
js 0x100bc460
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 + 0x1e8]
mov dword [esi + 0x80], edi
lea edi, [edx + 4]
and edi, 7
mov byte [esi + edi + 0x1e8], bl
sub ebx, dword [esi + 0x80]
add ecx, ebx
mov ebx, ecx
shr ebx, 2
mov byte [eax], bl
inc edx
add eax, dword [esi + 0x34]
cmp dword [esi + 0x40], edx
jne 0x100bc350
jmp 0x100bc4d0
cmp dword [esi + 0x24], 0
vxorps xmm4, xmm4, xmm4
js 0x100bc460
xor ecx, ecx
mov eax, ebx
xor edi, edi
nop word cs:[eax + eax]
movzx edx, byte [eax]
mov ebx, edi
and ebx, 7
movzx ebx, byte [esi + ebx + 0x1e8]
mov dword [esi + 0x80], ebx
lea ebx, [edi + 3]
and ebx, 7
mov byte [esi + ebx + 0x1e8], dl
sub edx, dword [esi + 0x80]
add ecx, edx
mov edx, ecx
mov ebx, 0xaaaaaaab
mulx edx, edx, ebx
shr edx, 1
mov byte [eax], dl
inc edi
add eax, dword [esi + 0x34]
cmp dword [esi + 0x40], edi
jne 0x100bc3b0
jmp 0x100bc4d0
cmp dword [esi + 0x24], 0
vxorps xmm4, xmm4, xmm4
js 0x100bc460
xor ecx, ecx
mov eax, ebx
xor edi, edi
movzx edx, byte [eax]
mov ebx, edi
and ebx, 7
movzx ebx, byte [esi + ebx + 0x1e8]
mov dword [esi + 0x80], ebx
lea ebx, [edi + 5]
and ebx, 7
mov byte [esi + ebx + 0x1e8], dl
sub edx, dword [esi + 0x80]
add ecx, edx
mov edx, ecx
mov ebx, 0xcccccccd
mulx edx, edx, ebx
shr edx, 2
mov byte [eax], dl
inc edi
add eax, dword [esi + 0x34]
cmp dword [esi + 0x40], edi
jne 0x100bc410
jmp 0x100bc4d0
xor ebx, ebx
xor ecx, ecx
jmp 0x100bc4d3
cmp dword [esi + 0x24], 0
js 0x100bc5a0
xor ecx, ecx
mov edi, ebx
xor ebx, ebx
vxorps xmm4, xmm4, xmm4
nop word [eax + eax]
movzx eax, byte [edi]
mov dword [esi + 0x1c], eax
mov edx, ebx
and edx, 7
movzx edx, byte [esi + edx + 0x1e8]
mov dword [esi + 0x80], edx
mov eax, dword [esi + 0xa0]
lea edx, [eax + ebx]
and edx, 7
mov eax, dword [esi + 0x1c]
mov byte [esi + edx + 0x1e8], al
sub eax, dword [esi + 0x80]
add ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xa0]
mov byte [edi], al
inc ebx
add edi, dword [esi + 0x34]
cmp dword [esi + 0x40], ebx
jne 0x100bc480
nop dword [eax]
mov ebx, dword [esi + 0x18]
mov eax, dword [esi + 0x20]
sub eax, ebx
jle 0x100bc290
test al, 1
jne 0x100bc4f0
mov edi, ebx
jmp 0x100bc518
mov eax, ebx
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xa0]
mov edx, ebx
imul edx, dword [esi + 0x34]
mov edi, dword [esi + 0x38]
mov byte [edi + edx], al
lea edi, [ebx + 1]
not ebx
cmp ebx, dword [esi + 0x74]
je 0x100bc290
lea edx, [edi + 1]
mov eax, dword [esi + 0x34]
imul edx, eax
mov dword [esi + 0x1c], edx
imul eax, edi
mov dword [esi + 0xd0], eax
mov ebx, dword [esi + 0x38]
nop dword [eax + eax]
mov eax, edi
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov dword [esi + 0x80], ecx
mov eax, ecx
xor edx, edx
div dword [esi + 0xa0]
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0xd0]
mov byte [ebx + edx], al
lea eax, [edi + 1]
and eax, 7
movzx eax, byte [esi + eax + 0x1e8]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esi + 0xa0]
mov edx, dword [esi + 0x1c]
mov byte [ebx + edx], al
mov edx, dword [esi + 0x20]
add edi, 2
add ebx, dword [esi + 0x2c]
cmp edx, edi
jne 0x100bc540
jmp 0x100bc290
xor ebx, ebx
xor ecx, ecx
vxorps xmm4, xmm4, xmm4
jmp 0x100bc4d3
vxorps xmm4, xmm4, xmm4
movzx eax, word [esi + 0x40]
jmp 0x100bb44d
add ecx, dword [edx + eax*4]
inc eax
cmp edi, eax
jne 0x100bc5c0
lea eax, [ecx + ecx*4]
lea eax, [eax*4 + 0x14]
mov dword [esi + 0x448], 7
push eax
vzeroupper
call fcn.1009b6d0
add esp, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x38]
cmp dword [esi + 0x7c], 0
je 0x100bde68
add eax, 4
mov dword [esi + 0x10c], eax
mov dword [esi + 0xd0], 0
xor ecx, ecx
xor edx, edx
vpxor xmm1, xmm1, xmm1
vmovss xmm2, dword [esi + 0x158]
vmovaps xmm3, xmmword [esi + 0x400]
jmp 0x100bc649
mov edx, dword [esi + 0x28]
add edx, dword [esi + 0x118]
mov ecx, dword [esi + 0x18]
inc ecx
cmp ecx, dword [esi + 0xc0]
je 0x100bc764
mov eax, dword [esi + 0x74]
mov dword [esi + 0x18], ecx
mov ecx, dword [eax + ecx*4]
test ecx, ecx
mov eax, dword [esi + 0x38]
mov dword [esi + 0x28], edx
mov dword [esi + 0x118], ecx
jle 0x100bc630
lea eax, [eax + edx*8]
mov dword [esi + 0x80], eax
lea edi, [ecx - 1]
mov eax, dword [esi + 0x10c]
lea eax, [eax + edx*8]
mov dword [esi + 0x1c], eax
xor edx, edx
jmp 0x100bc70e
mov edx, dword [esi + 0x7c]
lea edx, [edx + ecx*4]
add edx, 0x10
mov dword [edx], 1
mov dword [esi + 0x20], edi
mov edi, eax
mov edx, ecx
mov ecx, dword [esi + 0x7c]
lea edx, [ecx + edx*4]
mov dword [esi + 0x78], edx
mov edx, dword [esi + 0x80]
mov ebx, dword [esi + 0x20]
vmovss xmm0, dword [edx + ebx*8]
vfmadd132ss xmm0, xmm1, xmm2
mov ebx, dword [esi + 0x78]
vmovss dword [ebx], xmm0
mov ebx, dword [esi + 0x20]
vmovss xmm0, dword [edx + ebx*8 + 4]
vfmadd132ss xmm0, xmm1, xmm3
mov ebx, dword [esi + 0x40]
vmovss dword [ecx + ebx*4 + 4], xmm0
vmovss xmm0, dword [edx + edi*8]
vfmadd132ss xmm0, xmm1, xmm2
vmovss dword [ecx + ebx*4 + 8], xmm0
vmovss xmm0, dword [edx + edi*8 + 4]
vfmadd132ss xmm0, xmm1, xmm3
vmovss dword [ecx + ebx*4 + 0xc], xmm0
inc dword [esi + 0xd0]
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x18]
mov ecx, dword [ecx + edx*4]
lea edx, [eax + 1]
mov edi, eax
cmp edx, ecx
jge 0x100bc630
mov eax, edx
mov edx, dword [esi + 0x80]
vmovss xmm0, dword [edx + edi*8 + 4]
mov ebx, dword [esi + 0x1c]
vucomiss xmm0, dword [ebx + eax*8]
jne 0x100bc728
jnp 0x100bc701
mov ecx, dword [esi + 0xd0]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x40]
mov dword [ecx + eax*4 + 0x10], 0
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x40]
vmovss xmm0, dword [edx + edi*8 + 4]
vucomiss xmm0, dword [ebx + eax*8]
ja 0x100bc681
mov dword [esi + 0x20], eax
jmp 0x100bc695
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0xd0]
mov edx, edi
call fcn.100c5070
cmp edi, 2
mov dword [esi + 0xd0], edi
jl 0x100bc82f
mov eax, 1
mov ebx, dword [esi + 0x7c]
jmp 0x100bc79f
inc eax
mov ebx, dword [esi + 0x40]
add ebx, 0x14
cmp eax, edi
je 0x100bc82f
lea edx, [eax + eax*4]
mov ecx, dword [esi + 0x7c]
vmovsd xmm0, qword [ecx + edx*4]
vmovshdup xmm1, xmm0
mov edi, dword [ecx + edx*4 + 0x10]
mov dword [esi + 0x1f0], edi
vmovsd xmm2, qword [ecx + edx*4 + 8]
vmovsd qword [esi + 0x1e8], xmm2
mov dword [esi + 0x40], ebx
mov edi, ebx
mov edx, eax
nop dword [eax]
vmovss xmm2, dword [edi + 4]
vucomiss xmm2, xmm1
jbe 0x100bc7f9
lea ebx, [edx - 1]
mov ecx, dword [edi + 0x10]
mov dword [edi + 0x24], ecx
vmovups xmm2, xmmword [edi]
vmovups xmmword [edi + 0x14], xmm2
add edi, 0xffffffec
cmp edx, 1
mov edx, ebx
jg 0x100bc7d0
xor edx, edx
mov edi, dword [esi + 0xd0]
cmp eax, edx
je 0x100bc790
lea ecx, [edx + edx*4]
mov ebx, edi
mov edi, dword [esi + 0x7c]
vmovlps qword [edi + ecx*4], xmm0
vmovsd xmm0, qword [esi + 0x1e8]
vmovsd qword [edi + ecx*4 + 8], xmm0
mov edx, dword [esi + 0x1f0]
mov dword [edi + ecx*4 + 0x10], edx
mov edi, ebx
jmp 0x100bc790
mov dword [esi + 0xcc], 0
lea eax, [esi + 0x1e8]
mov dword [esi + 0x28], eax
cmp dword [esi + 0x130], 0x40
mov ecx, dword [esi + 0x150]
jl 0x100bc87a
lea eax, [ecx*8 + 4]
mov dword [esi + 0x448], 7
push eax
call fcn.1009b6d0
add esp, 4
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0x150]
mov edi, dword [esi + 0xd0]
mov edx, dword [esi + 0x174]
mov eax, dword [esi + 0x70]
add eax, edx
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, eax
vaddss xmm0, xmm0, dword [0x10144ae0]
lea eax, [edi + edi*4]
mov edi, dword [esi + 0x7c]
vmovss dword [edi + eax*4 + 4], xmm0
cmp dword [esi + 0x108], 0x7ffffffe
ja 0x100bde3d
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, dword [esi + 0xec]
vmovss dword [esi + 0x148], xmm0
mov edi, dword [esi + 0x28]
lea eax, [edi + ecx*4]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm0, xmm7, ecx
vmovss dword [esi + 0x118], xmm0
mov dword [esi + 0x140], eax
add eax, 4
mov dword [esi + 0x12c], eax
lea eax, [ecx*4]
mov dword [esi + 0x1a8], eax
mov eax, dword [esi + 0x194]
mov ebx, dword [esi + 0xe4]
lea eax, [eax + ebx*4]
add eax, edi
mov dword [esi + 0x1a0], eax
lea eax, [ecx*4 + 4]
mov dword [esi + 0x1a4], eax
mov dword [esi + 0xec], 0
mov eax, dword [esi + 0x7c]
mov dword [esi + 0xe4], eax
mov eax, edi
mov dword [esi + 0x14c], 0
mov dword [esi + 0x10c], 0
xor edi, edi
xor ecx, ecx
mov dword [esi + 0x28], eax
jmp 0x100bc98a
mov edx, dword [esi + 0x1b8]
inc edx
mov eax, dword [esi + 0xc4]
add eax, dword [esi + 0x34]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0x14c]
cmp eax, dword [esi + 0x108]
lea eax, [eax + 1]
mov dword [esi + 0x14c], eax
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0xc0]
je 0x100bde07
mov dword [esi + 0xc0], ecx
mov dword [esi + 0x1b8], edx
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm0, xmm5, edx
vmovss dword [esi + 0x18], xmm0
vaddss xmm0, xmm0, dword [0x10144ae0]
vmovss dword [esi + 0x1c], 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 + 0x140]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ebx, dword [esi + 0xec]
test ebx, ebx
je 0x100bca40
lea eax, [esi + 0xcc]
vxorps xmm7, xmm7, xmm7
vmovss xmm2, dword [esi + 0x148]
vmovss xmm1, dword [esi + 0x18]
vmovss xmm4, dword [esi + 0x1c]
mov edx, dword [esi + 0xe4]
jmp 0x100bca2b
mov ecx, dword [ebx]
mov dword [eax], ecx
mov edx, dword [esi + 0xe4]
mov dword [ebx + 0x10], 0
mov dword [ebx], edi
mov edi, ebx
mov ebx, dword [eax]
test ebx, ebx
je 0x100bca5c
vucomiss xmm1, dword [ebx + 0x18]
jae 0x100bca10
mov eax, ebx
jmp 0x100bca25
vxorps xmm7, xmm7, xmm7
vmovss xmm2, dword [esi + 0x148]
vmovss xmm1, dword [esi + 0x18]
vmovss xmm4, dword [esi + 0x1c]
mov edx, dword [esi + 0xe4]
vmovss xmm0, dword [edx + 4]
vucomiss xmm4, xmm0
jae 0x100bdc30
mov dword [esi + 0xe4], edx
mov dword [esi + 0x1b4], edi
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xec], eax
test eax, eax
je 0x100bdb60
vmovss xmm0, dword [esi + 0x1c]
vsubss xmm0, xmm0, xmm1
vmovss dword [esi + 0x128], xmm0
mov eax, dword [esi + 0xec]
jmp 0x100bcb1e
vcvtsi2ss xmm2, xmm3, ecx
vcvtsi2ss xmm4, xmm3, ebx
vfmadd132ss xmm2, xmm5, dword [esi + 0x80]
vmovss xmm5, dword [esi + 0x20]
vsubss xmm4, xmm5, xmm4
vaddss xmm4, xmm4, dword [0x10145a74]
vmulss xmm4, xmm4, dword [0x10146e34]
vaddss xmm4, xmm4, dword [0x10144ae0]
vmulss xmm4, xmm1, xmm4
vsubss xmm2, xmm3, xmm2
vfmadd213ss xmm2, xmm4, xmm6
vaddss xmm2, xmm2, dword [edx + ebx*4]
vmovss dword [edx + ebx*4], xmm2
vsubss xmm0, xmm3, xmm0
mov edx, dword [esi + 0x12c]
vfmadd213ss xmm0, xmm1, dword [edx + ebx*4]
vmovss dword [edx + ebx*4], xmm0
vmovss xmm1, dword [esi + 0x18]
nop word [eax + eax]
mov eax, dword [eax]
test eax, eax
vxorps xmm7, xmm7, xmm7
je 0x100bdb60
vmovss xmm4, dword [eax + 4]
vmovss xmm3, dword [eax + 8]
vucomiss xmm3, xmm7
vmovaps xmmword [esi + 0x40], xmm4
jne 0x100bcc00
jp 0x100bcc00
vxorps xmm0, xmm0, xmm0
vmovss xmm1, dword [esi + 0x118]
vucomiss xmm1, xmm4
vmovss xmm1, dword [esi + 0x18]
jbe 0x100bcb10
vmovaps xmm2, xmmword [esi + 0x40]
vucomiss xmm2, xmm0
jae 0x100bcd2c
vmovss xmm0, dword [esi + 0x1c]
vucomiss xmm0, xmm1
jne 0x100bcb70
jnp 0x100bcb10
vmovss xmm0, dword [eax + 0x18]
vucomiss xmm1, xmm0
ja 0x100bcb10
vmovss xmm4, dword [eax + 0x14]
vucomiss xmm4, dword [esi + 0x1c]
ja 0x100bcb10
vucomiss xmm4, xmm1
vmovaps xmm5, xmmword [esi + 0x40]
vmovaps xmm2, xmm5
vmovaps xmm3, xmm1
jbe 0x100bcbb6
vsubss xmm2, xmm5, xmm5
vsubss xmm3, xmm4, xmm1
vmulss xmm2, xmm2, xmm3
vdivss xmm2, xmm2, dword [esi + 0x128]
vaddss xmm2, xmm5, xmm2
vmovaps xmm3, xmm4
vmovss xmm6, dword [esi + 0x1c]
vucomiss xmm6, xmm0
vxorps xmm1, xmm1, xmm1
jbe 0x100bd982
vsubss xmm4, xmm5, xmm2
vsubss xmm5, xmm0, xmm6
vmulss xmm4, xmm5, xmm4
vsubss xmm5, xmm6, xmm3
vdivss xmm4, xmm4, xmm5
vmovaps xmm5, xmmword [esi + 0x40]
vaddss xmm5, xmm5, xmm4
vucomiss xmm1, xmm2
jae 0x100bd990
jmp 0x100bda75
vaddss xmm0, xmm3, xmm4
vmovaps xmmword [esi + 0xd0], xmm0
vmovss xmm0, dword [eax + 0x14]
vsubss xmm2, xmm0, xmm1
vmovss dword [esi + 0x78], xmm3
vfmadd213ss xmm2, xmm3, xmm4
vcmpltss xmm3, xmm1, xmm0
vblendvps xmm5, xmm4, xmm2, xmm3
vucomiss xmm5, xmm7
jb 0x100bcd00
vmovss xmm2, dword [eax + 0x18]
vsubss xmm3, xmm2, xmm1
vmovss xmm4, dword [esi + 0x78]
vfmadd213ss xmm3, xmm4, dword [esi + 0x40]
vcmpltss xmm4, xmm2, dword [esi + 0x1c]
vmovaps xmm6, xmmword [esi + 0xd0]
vblendvps xmm6, xmm6, xmm3, xmm4
vucomiss xmm6, xmm7
jb 0x100bcd00
vmovss xmm1, dword [esi + 0x118]
vucomiss xmm1, xmm5
vmovss xmm1, dword [esi + 0x18]
jbe 0x100bcd00
vmovss xmm1, dword [esi + 0x118]
vucomiss xmm1, xmm6
vmovss xmm1, dword [esi + 0x18]
jbe 0x100bcd00
vmaxss xmm0, xmm0, xmm1
vcvttss2si edi, xmm5
vminss xmm3, xmm2, dword [esi + 0x1c]
vcvttss2si ecx, xmm6
cmp edi, ecx
jne 0x100bcdf8
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm1, xmm7, edi
vsubss xmm2, xmm5, xmm1
vsubss xmm1, xmm6, xmm1
vaddss xmm1, xmm2, xmm1
vmulss xmm1, xmm1, dword [0x10146e34]
vaddss xmm1, xmm1, dword [0x10144ae0]
vmulss xmm1, xmm1, dword [eax + 0x10]
vsubss xmm0, xmm3, xmm0
mov ecx, dword [esi + 0x28]
vfmadd213ss xmm1, xmm0, dword [ecx + edi*4]
vmovss dword [ecx + edi*4], xmm1
vmovss xmm1, dword [eax + 0x10]
mov ecx, dword [esi + 0x12c]
vfmadd213ss xmm1, xmm0, dword [ecx + edi*4]
vmovss dword [ecx + edi*4], xmm1
jmp 0x100bcb02
cmp dword [esi + 0x130], 0x7ffffffe
ja 0x100bcb10
vmovaps xmm0, xmmword [esi + 0xd0]
vsubss xmm0, xmm0, dword [esi + 0x40]
vmovss dword [esi + 0x1d0], xmm0
xor ecx, ecx
jmp 0x100bce9d
vmovss xmm0, dword [esi + 0x1c]
vucomiss xmm0, xmm1
jne 0x100bcd3d
jnp 0x100bcb10
vcvttss2si ecx, dword [esi + 0x40]
vmovss xmm3, dword [eax + 0x18]
vucomiss xmm1, xmm3
ja 0x100bd9fd
vmovss xmm4, dword [eax + 0x14]
vucomiss xmm4, dword [esi + 0x1c]
ja 0x100bd9fd
vucomiss xmm4, xmm1
vmovaps xmm5, xmmword [esi + 0x40]
vmovaps xmm0, xmm5
vmovaps xmm2, xmm1
jbe 0x100bcd90
vsubss xmm0, xmm5, xmm5
vsubss xmm2, xmm4, xmm1
vmulss xmm0, xmm0, xmm2
vdivss xmm0, xmm0, dword [esi + 0x128]
vaddss xmm0, xmm5, xmm0
vmovaps xmm2, xmm4
vmovss xmm6, dword [esi + 0x1c]
vucomiss xmm6, xmm3
vmovaps xmm4, xmm5
vmovaps xmm5, xmm6
jbe 0x100bcdc4
vmovaps xmm7, xmmword [esi + 0x40]
vsubss xmm4, xmm7, xmm0
vsubss xmm5, xmm3, xmm6
vmulss xmm4, xmm5, xmm4
vsubss xmm5, xmm6, xmm2
vdivss xmm4, xmm4, xmm5
vaddss xmm4, xmm7, xmm4
vmovaps xmm5, xmm3
vcvtsi2ss xmm3, xmm1, ecx
vucomiss xmm3, xmm0
jb 0x100bd9b7
vucomiss xmm3, xmm4
jb 0x100bd9b7
vmovss xmm0, dword [eax + 0x10]
vsubss xmm2, xmm5, xmm2
mov edx, dword [esi + 0x28]
vfmadd213ss xmm2, xmm0, dword [edx + ecx*4]
vmovss dword [edx + ecx*4], xmm2
jmp 0x100bd9fd
vmovss xmm7, dword [eax + 0xc]
vucomiss xmm5, xmm6
mov edx, dword [esi + 0x28]
jbe 0x100bd88d
vsubss xmm0, xmm1, xmm0
vmovaps xmm2, xmm1
vsubss xmm1, xmm1, xmm3
vmovss xmm4, dword [esi + 0x1c]
vaddss xmm3, xmm4, xmm0
vaddss xmm0, xmm4, xmm1
vxorps xmm7, xmm7, xmmword [esi + 0x410]
mov ebx, edi
vmovss dword [esi + 0x20], xmm5
vmovaps xmm4, xmmword [esi + 0xd0]
jmp 0x100bd8a3
vsubss xmm1, xmm3, xmm2
vmulss xmm1, xmm1, dword [eax + 0x10]
vsubss xmm2, xmm4, xmm5
vsubss xmm3, xmm7, xmm5
vaddss xmm2, xmm2, xmm3
vmulss xmm2, xmm2, dword [0x10146e34]
vaddss xmm2, xmm2, dword [0x10144ae0]
mov edi, dword [esi + 0x28]
vfmadd213ss xmm2, xmm1, dword [edi + edx*4]
vmovss xmm1, dword [esi + 0x18]
vmovss dword [edi + edx*4], xmm2
nop word [eax + eax]
vucomiss xmm0, dword [esi + 0x1c]
jne 0x100bd1bc
jp 0x100bd1bc
cmp edx, dword [esi + 0x130]
je 0x100bcb10
mov edx, ecx
vmovaps xmm7, xmm1
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm1, xmm4, ecx
inc ecx
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm5, xmm4, ecx
vmovaps xmm6, xmmword [esi + 0x40]
vsubss xmm2, xmm1, xmm6
vmovss xmm3, dword [esi + 0x78]
vdivss xmm0, xmm2, xmm3
vaddss xmm4, xmm0, xmm7
vsubss xmm0, xmm5, xmm6
vmovss dword [esi + 0x24], xmm0
vdivss xmm3, xmm0, xmm3
vmovaps xmm0, xmm7
vaddss xmm7, xmm3, xmm7
vmovss dword [esi + 0x80], xmm1
vucomiss xmm1, xmm6
vmovaps xmm6, xmmword [esi + 0xd0]
vmovss dword [esi + 0x20], xmm5
jbe 0x100bcfe0
vucomiss xmm6, xmm5
jbe 0x100bcfe0
vmovaps xmm1, xmm0
vmovaps xmm0, xmm4
vucomiss xmm4, xmm1
vmovss xmm5, dword [esi + 0x80]
jne 0x100bcf24
jnp 0x100bd340
vmovss xmm3, dword [eax + 0x18]
vucomiss xmm1, xmm3
ja 0x100bd340
vmovss xmm4, dword [eax + 0x14]
vucomiss xmm4, xmm0
ja 0x100bd340
vucomiss xmm4, xmm1
vmovaps xmm6, xmmword [esi + 0x40]
vmovss dword [esi + 0x24], xmm1
jbe 0x100bcf73
vsubss xmm1, xmm4, dword [esi + 0x18]
vmulss xmm1, xmm2, xmm1
vsubss xmm2, xmm0, dword [esi + 0x18]
vdivss xmm1, xmm1, xmm2
vaddss xmm6, xmm1, dword [esi + 0x40]
vmovss xmm1, dword [esi + 0x18]
vmovss dword [esi + 0x24], xmm4
vucomiss xmm0, xmm3
vmovaps xmm2, xmm5
vmovss dword [esi + 0x70], xmm0
vmovss xmm4, dword [esi + 0x24]
jbe 0x100bcfa9
vsubss xmm1, xmm5, xmm6
vsubss xmm2, xmm3, xmm0
vmulss xmm1, xmm2, xmm1
vsubss xmm2, xmm0, xmm4
vdivss xmm1, xmm1, xmm2
vaddss xmm2, xmm1, xmm5
vmovss xmm1, dword [esi + 0x18]
vmovss dword [esi + 0x70], xmm3
vmovaps xmm3, xmm6
vucomiss xmm5, xmm6
vmovaps xmm6, xmmword [esi + 0xd0]
jb 0x100bd2e6
vucomiss xmm5, xmm2
jb 0x100bd2e6
vmovss xmm1, dword [eax + 0x10]
vmovss xmm2, dword [esi + 0x70]
vsubss xmm2, xmm2, xmm4
jmp 0x100bd31e
vmovss xmm5, dword [esi + 0x80]
vucomiss xmm5, xmm6
jbe 0x100bd0e0
vmovaps xmm3, xmmword [esi + 0x40]
vucomiss xmm3, dword [esi + 0x20]
jbe 0x100bd0e0
vmovaps xmm1, xmm0
vucomiss xmm7, xmm0
vmovaps xmm0, xmm4
jne 0x100bd016
jnp 0x100bd750
vmovss xmm3, dword [eax + 0x18]
vucomiss xmm1, xmm3
ja 0x100bd750
vmovss xmm2, dword [eax + 0x14]
vucomiss xmm2, xmm7
ja 0x100bd750
vucomiss xmm2, xmm1
vmovaps xmm6, xmmword [esi + 0x40]
vmovss dword [esi + 0x70], xmm1
jbe 0x100bd066
vsubss xmm1, xmm2, dword [esi + 0x18]
vmulss xmm1, xmm1, dword [esi + 0x24]
vsubss xmm4, xmm7, dword [esi + 0x18]
vdivss xmm1, xmm1, xmm4
vaddss xmm6, xmm1, dword [esi + 0x40]
vmovss xmm1, dword [esi + 0x18]
vmovss dword [esi + 0x70], xmm2
vucomiss xmm7, xmm3
vmovss xmm2, dword [esi + 0x20]
vmovaps xmm4, xmm2
vmovss dword [esi + 0x24], xmm7
jbe 0x100bd0a2
vsubss xmm1, xmm2, xmm6
vsubss xmm2, xmm3, xmm7
vmulss xmm1, xmm2, xmm1
vsubss xmm2, xmm7, dword [esi + 0x70]
vdivss xmm1, xmm1, xmm2
vmovss xmm2, dword [esi + 0x20]
vaddss xmm4, xmm1, xmm2
vmovss xmm1, dword [esi + 0x18]
vmovss dword [esi + 0x24], xmm3
vmovaps xmm3, xmm6
vucomiss xmm5, xmm6
vmovaps xmm6, xmmword [esi + 0xd0]
jb 0x100bd6f7
vucomiss xmm5, xmm4
jb 0x100bd6f7
vmovss xmm1, dword [eax + 0x10]
vmovss xmm2, dword [esi + 0x24]
vsubss xmm2, xmm2, dword [esi + 0x70]
jmp 0x100bd72f
vucomiss xmm5, dword [esi + 0x40]
vmovaps xmm1, xmm0
jbe 0x100bd0f1
vucomiss xmm6, xmm5
ja 0x100bd10a
vucomiss xmm5, xmm6
jbe 0x100bd207
vmovaps xmm3, xmmword [esi + 0x40]
vucomiss xmm3, xmm5
jbe 0x100bd207
vmovaps xmm0, xmm4
vucomiss xmm4, xmm1
jne 0x100bd11a
jnp 0x100bce80
vmovss xmm7, dword [eax + 0x18]
vucomiss xmm1, xmm7
ja 0x100bce80
vmovss xmm3, dword [eax + 0x14]
vucomiss xmm3, xmm0
ja 0x100bce80
vucomiss xmm3, xmm1
vmovaps xmm4, xmmword [esi + 0x40]
vmovss dword [esi + 0x24], xmm1
jbe 0x100bd169
vsubss xmm1, xmm3, dword [esi + 0x18]
vmulss xmm1, xmm2, xmm1
vsubss xmm2, xmm0, dword [esi + 0x18]
vdivss xmm1, xmm1, xmm2
vaddss xmm4, xmm1, dword [esi + 0x40]
vmovss xmm1, dword [esi + 0x18]
vmovss dword [esi + 0x24], xmm3
vucomiss xmm0, xmm7
vmovaps xmm2, xmm5
vmovaps xmm3, xmm0
jbe 0x100bd199
vsubss xmm1, xmm5, xmm4
vsubss xmm2, xmm7, xmm0
vmulss xmm1, xmm2, xmm1
vsubss xmm2, xmm0, dword [esi + 0x24]
vdivss xmm1, xmm1, xmm2
vaddss xmm2, xmm1, xmm5
vmovss xmm1, dword [esi + 0x18]
vmovaps xmm3, xmm7
vucomiss xmm5, xmm4
jb 0x100bd833
vucomiss xmm5, xmm2
jb 0x100bd833
vmovss xmm1, dword [eax + 0x10]
vsubss xmm2, xmm3, dword [esi + 0x24]
jmp 0x100bce64
vmovss xmm3, dword [eax + 0x18]
vucomiss xmm0, xmm3
ja 0x100bce91
vmovss xmm2, dword [eax + 0x14]
vucomiss xmm2, dword [esi + 0x1c]
ja 0x100bce91
vucomiss xmm2, xmm0
jbe 0x100bd562
vsubss xmm1, xmm6, xmm5
vsubss xmm4, xmm2, xmm0
vmulss xmm1, xmm1, xmm4
vmovss xmm7, dword [esi + 0x1c]
vsubss xmm0, xmm7, xmm0
vdivss xmm0, xmm1, xmm0
vaddss xmm4, xmm0, xmm5
jmp 0x100bd56f
vmovss xmm2, dword [esi + 0x20]
vucomiss xmm2, dword [esi + 0x40]
jbe 0x100bd219
vucomiss xmm6, xmm2
ja 0x100bd232
vucomiss xmm2, xmm6
jbe 0x100bd61b
vmovaps xmm0, xmmword [esi + 0x40]
vucomiss xmm0, xmm2
jbe 0x100bd61b
vucomiss xmm7, xmm1
jne 0x100bd23e
jnp 0x100bd460
vmovss xmm3, dword [eax + 0x18]
vucomiss xmm1, xmm3
ja 0x100bd460
vmovss xmm2, dword [eax + 0x14]
vucomiss xmm2, xmm7
ja 0x100bd460
vucomiss xmm2, xmm1
vmovaps xmm0, xmmword [esi + 0x40]
vmovss dword [esi + 0x70], xmm1
jbe 0x100bd28d
vsubss xmm0, xmm2, xmm1
vmulss xmm0, xmm0, dword [esi + 0x24]
vsubss xmm1, xmm7, dword [esi + 0x18]
vdivss xmm0, xmm0, xmm1
vmovss xmm1, dword [esi + 0x18]
vaddss xmm0, xmm0, dword [esi + 0x40]
vmovss dword [esi + 0x70], xmm2
vucomiss xmm7, xmm3
vmovss xmm4, dword [esi + 0x20]
vmovaps xmm2, xmm7
jbe 0x100bd2c3
vmovss xmm4, dword [esi + 0x20]
vsubss xmm1, xmm4, xmm0
vsubss xmm2, xmm3, xmm7
vmulss xmm1, xmm2, xmm1
vsubss xmm2, xmm7, dword [esi + 0x70]
vdivss xmm1, xmm1, xmm2
vaddss xmm4, xmm1, xmm4
vmovss xmm1, dword [esi + 0x18]
vmovaps xmm2, xmm3
vucomiss xmm5, xmm0
jb 0x100bd860
vucomiss xmm5, xmm4
jb 0x100bd860
vmovss xmm0, dword [eax + 0x10]
vsubss xmm1, xmm2, dword [esi + 0x70]
jmp 0x100bd3f4
vucomiss xmm3, dword [esi + 0x20]
jb 0x100bd2f4
vucomiss xmm2, dword [esi + 0x20]
jae 0x100bd340
vmovss xmm1, dword [esi + 0x70]
vsubss xmm1, xmm1, xmm4
vmulss xmm1, xmm1, dword [eax + 0x10]
vsubss xmm3, xmm3, xmm5
vsubss xmm2, xmm2, xmm5
vaddss xmm2, xmm3, xmm2
vmulss xmm2, xmm2, dword [0x10146e34]
vaddss xmm2, xmm2, dword [0x10144ae0]
mov edi, dword [esi + 0x28]
vfmadd213ss xmm2, xmm1, dword [edi + edx*4]
vmovss xmm1, dword [esi + 0x18]
vmovss dword [edi + edx*4], xmm2
nop word cs:[eax + eax]
vucomiss xmm0, xmm7
jne 0x100bd34c
jnp 0x100bd460
vmovss xmm3, dword [eax + 0x18]
vucomiss xmm0, xmm3
ja 0x100bd460
vmovss xmm2, dword [eax + 0x14]
vucomiss xmm2, xmm7
ja 0x100bd460
vucomiss xmm2, xmm0
jbe 0x100bd39b
vmovss xmm1, dword [esi + 0x20]
vsubss xmm5, xmm1, dword [esi + 0x80]
vsubss xmm4, xmm2, xmm0
vmulss xmm4, xmm5, xmm4
vmovss xmm5, dword [esi + 0x80]
vsubss xmm0, xmm7, xmm0
vdivss xmm0, xmm4, xmm0
vaddss xmm4, xmm0, xmm5
jmp 0x100bd3a8
vmovaps xmm4, xmm5
vmovaps xmm2, xmm0
vmovss xmm1, dword [esi + 0x20]
vucomiss xmm7, xmm3
vmovaps xmm0, xmm1
vmovaps xmm1, xmm7
jbe 0x100bd3df
vmovss xmm5, dword [esi + 0x20]
vsubss xmm0, xmm5, xmm4
vsubss xmm1, xmm3, xmm7
vmulss xmm0, xmm1, xmm0
vsubss xmm1, xmm7, xmm2
vdivss xmm0, xmm0, xmm1
vaddss xmm0, xmm0, xmm5
vmovss xmm5, dword [esi + 0x80]
vmovaps xmm1, xmm3
vucomiss xmm5, xmm4
jb 0x100bd409
vucomiss xmm5, xmm0
jb 0x100bd409
vmovss xmm0, dword [eax + 0x10]
vsubss xmm1, xmm1, xmm2
mov edi, dword [esi + 0x28]
vfmadd213ss xmm1, xmm0, dword [edi + edx*4]
vmovss dword [edi + edx*4], xmm1
vmovss xmm1, dword [esi + 0x18]
jmp 0x100bd460
vmovaps xmm3, xmm1
vucomiss xmm4, dword [esi + 0x20]
vmovss xmm1, dword [esi + 0x18]
jb 0x100bd420
vucomiss xmm0, dword [esi + 0x20]
jae 0x100bd460
vsubss xmm1, xmm3, xmm2
vmulss xmm1, xmm1, dword [eax + 0x10]
vsubss xmm2, xmm4, xmm5
vsubss xmm0, xmm0, xmm5
vaddss xmm0, xmm2, xmm0
vmulss xmm0, xmm0, dword [0x10146e34]
vaddss xmm0, xmm0, dword [0x10144ae0]
mov edi, dword [esi + 0x28]
vfmadd213ss xmm0, xmm1, dword [edi + edx*4]
vmovss xmm1, dword [esi + 0x18]
vmovss dword [edi + edx*4], xmm0
nop dword [eax + eax]
vucomiss xmm7, dword [esi + 0x1c]
jne 0x100bd46d
jnp 0x100bce91
vmovss xmm3, dword [eax + 0x18]
vucomiss xmm7, xmm3
ja 0x100bce91
vmovss xmm0, dword [eax + 0x14]
vucomiss xmm0, dword [esi + 0x1c]
ja 0x100bce91
vucomiss xmm0, xmm7
jbe 0x100bd4be
vmovss xmm5, dword [esi + 0x20]
vsubss xmm1, xmm6, xmm5
vsubss xmm2, xmm0, xmm7
vmulss xmm1, xmm1, xmm2
vmovss xmm4, dword [esi + 0x1c]
vsubss xmm2, xmm4, xmm7
vdivss xmm1, xmm1, xmm2
vaddss xmm2, xmm1, xmm5
vmovss xmm5, dword [esi + 0x80]
jmp 0x100bd4cc
vmovss xmm2, dword [esi + 0x20]
vmovaps xmm0, xmm7
vmovss xmm4, dword [esi + 0x1c]
vucomiss xmm4, xmm3
vmovaps xmm7, xmm6
jbe 0x100bd4f7
vsubss xmm1, xmm6, xmm2
vmovss xmm7, dword [esi + 0x1c]
vsubss xmm4, xmm3, xmm7
vmulss xmm1, xmm4, xmm1
vsubss xmm4, xmm7, xmm0
vdivss xmm1, xmm1, xmm4
vaddss xmm7, xmm6, xmm1
vmovaps xmm4, xmm3
vucomiss xmm5, xmm2
jb 0x100bd524
vucomiss xmm5, xmm7
jb 0x100bd524
vmovss xmm1, dword [eax + 0x10]
vsubss xmm0, xmm4, xmm0
mov edi, dword [esi + 0x28]
vfmadd213ss xmm0, xmm1, dword [edi + edx*4]
vmovss dword [edi + edx*4], xmm0
vmovss xmm1, dword [esi + 0x18]
jmp 0x100bce91
vucomiss xmm2, dword [esi + 0x20]
vmovss xmm1, dword [esi + 0x18]
jb 0x100bd53b
vucomiss xmm7, dword [esi + 0x20]
jae 0x100bce91
vsubss xmm0, xmm4, xmm0
vmulss xmm0, xmm0, dword [eax + 0x10]
vsubss xmm1, xmm2, xmm5
vsubss xmm2, xmm7, xmm5
vaddss xmm1, xmm1, xmm2
vmulss xmm1, xmm1, dword [0x10146e34]
vaddss xmm1, xmm1, dword [0x10144ae0]
jmp 0x100bd5af
vmovaps xmm4, xmm5
vmovaps xmm2, xmm0
vmovss xmm7, dword [esi + 0x1c]
vucomiss xmm7, xmm3
vmovaps xmm0, xmm6
jbe 0x100bd59a
vsubss xmm0, xmm6, xmm4
vmovss xmm7, dword [esi + 0x1c]
vsubss xmm1, xmm3, xmm7
vmulss xmm0, xmm1, xmm0
vsubss xmm1, xmm7, xmm2
vdivss xmm0, xmm0, xmm1
vaddss xmm0, xmm6, xmm0
vmovaps xmm7, xmm3
vucomiss xmm5, xmm4
jb 0x100bd5c7
vucomiss xmm5, xmm0
jb 0x100bd5c7
vmovss xmm0, dword [eax + 0x10]
vsubss xmm1, xmm7, xmm2
mov edi, dword [esi + 0x28]
vfmadd213ss xmm1, xmm0, dword [edi + edx*4]
vmovss dword [edi + edx*4], xmm1
vmovss xmm1, dword [esi + 0x18]
jmp 0x100bce91
vucomiss xmm4, dword [esi + 0x20]
vmovss xmm1, dword [esi + 0x18]
jb 0x100bd5de
vucomiss xmm0, dword [esi + 0x20]
jae 0x100bce91
vsubss xmm1, xmm7, xmm2
vmulss xmm1, xmm1, dword [eax + 0x10]
vsubss xmm2, xmm4, xmm5
vsubss xmm0, xmm0, xmm5
vaddss xmm0, xmm2, xmm0
vmulss xmm0, xmm0, dword [0x10146e34]
vaddss xmm0, xmm0, dword [0x10144ae0]
mov edi, dword [esi + 0x28]
vfmadd213ss xmm0, xmm1, dword [edi + edx*4]
vmovss xmm1, dword [esi + 0x18]
vmovss dword [edi + edx*4], xmm0
jmp 0x100bce91
vmovss xmm0, dword [esi + 0x1c]
vucomiss xmm0, xmm1
jne 0x100bd62c
jnp 0x100bce91
vmovss xmm3, dword [eax + 0x18]
vucomiss xmm1, xmm3
ja 0x100bce91
vmovss xmm2, dword [eax + 0x14]
vucomiss xmm2, dword [esi + 0x1c]
ja 0x100bce91
vsubss xmm0, xmm2, xmm1
vmulss xmm0, xmm0, dword [esi + 0x1d0]
vdivss xmm0, xmm0, dword [esi + 0x128]
vmovss xmm1, dword [esi + 0x18]
vcmpltss xmm1, xmm1, xmm2
vbroadcastss xmm4, dword [0x10144e60]
vblendvps xmm0, xmm4, xmm0, xmm1
vmovss xmm1, dword [esi + 0x18]
vaddss xmm0, xmm0, dword [esi + 0x40]
vmaxss xmm2, xmm2, xmm1
vmovss xmm7, dword [esi + 0x1c]
vucomiss xmm7, xmm3
vmovaps xmm4, xmm6
jbe 0x100bd6bb
vsubss xmm1, xmm6, xmm0
vmovss xmm7, dword [esi + 0x1c]
vsubss xmm4, xmm3, xmm7
vmulss xmm1, xmm4, xmm1
vsubss xmm4, xmm7, xmm2
vdivss xmm1, xmm1, xmm4
vaddss xmm4, xmm6, xmm1
vmovss xmm1, dword [esi + 0x18]
vmovaps xmm7, xmm3
vucomiss xmm5, xmm0
jb 0x100bd6cb
vucomiss xmm5, xmm4
jae 0x100bd5a6
vucomiss xmm0, dword [esi + 0x20]
jb 0x100bd6dd
vucomiss xmm4, dword [esi + 0x20]
jae 0x100bce91
vsubss xmm1, xmm7, xmm2
vmulss xmm1, xmm1, dword [eax + 0x10]
vsubss xmm0, xmm0, xmm5
vsubss xmm2, xmm4, xmm5
vaddss xmm0, xmm0, xmm2
jmp 0x100bd5f3
vucomiss xmm3, xmm2
jb 0x100bd704
vucomiss xmm4, dword [esi + 0x20]
jae 0x100bd750
vmovss xmm1, dword [esi + 0x24]
vsubss xmm1, xmm1, dword [esi + 0x70]
vmulss xmm1, xmm1, dword [eax + 0x10]
vsubss xmm2, xmm3, xmm5
vsubss xmm3, xmm4, xmm5
vaddss xmm2, xmm2, xmm3
vmulss xmm2, xmm2, dword [0x10146e34]
vaddss xmm2, xmm2, dword [0x10144ae0]
mov edi, dword [esi + 0x28]
vfmadd213ss xmm2, xmm1, dword [edi + edx*4]
vmovss xmm1, dword [esi + 0x18]
vmovss dword [edi + edx*4], xmm2
nop word cs:[eax + eax]
vucomiss xmm7, xmm0
jne 0x100bd75c
jnp 0x100bce80
vmovss xmm3, dword [eax + 0x18]
vucomiss xmm7, xmm3
ja 0x100bce80
vmovss xmm2, dword [eax + 0x14]
vucomiss xmm2, xmm0
ja 0x100bce80
vucomiss xmm2, xmm7
jbe 0x100bd7af
vmovss xmm5, dword [esi + 0x20]
vmovss xmm1, dword [esi + 0x80]
vsubss xmm1, xmm1, xmm5
vsubss xmm4, xmm2, xmm7
vmulss xmm1, xmm1, xmm4
vsubss xmm4, xmm0, xmm7
vdivss xmm1, xmm1, xmm4
vaddss xmm4, xmm1, xmm5
vmovss xmm5, dword [esi + 0x80]
jmp 0x100bd7b8
vmovss xmm4, dword [esi + 0x20]
vmovaps xmm2, xmm7
vucomiss xmm0, xmm3
vmovaps xmm7, xmm5
vmovaps xmm1, xmm0
jbe 0x100bd7e2
vsubss xmm1, xmm5, xmm4
vsubss xmm7, xmm3, xmm0
vmulss xmm1, xmm7, xmm1
vsubss xmm7, xmm0, xmm2
vdivss xmm1, xmm1, xmm7
vaddss xmm7, xmm1, xmm5
vmovaps xmm1, xmm3
vmovaps xmm3, xmm1
vucomiss xmm5, xmm4
jb 0x100bd813
vucomiss xmm5, xmm7
jb 0x100bd813
vmovss xmm1, dword [eax + 0x10]
vsubss xmm2, xmm3, xmm2
mov edi, dword [esi + 0x28]
vfmadd213ss xmm2, xmm1, dword [edi + edx*4]
vmovss dword [edi + edx*4], xmm2
vmovss xmm1, dword [esi + 0x18]
jmp 0x100bce80
vucomiss xmm4, dword [esi + 0x20]
vmovss xmm1, dword [esi + 0x18]
jb 0x100bce3f
vucomiss xmm7, dword [esi + 0x20]
jae 0x100bce80
jmp 0x100bce3f
vucomiss xmm4, dword [esi + 0x20]
jb 0x100bd845
vucomiss xmm2, dword [esi + 0x20]
jae 0x100bce80
vsubss xmm1, xmm3, dword [esi + 0x24]
vmulss xmm1, xmm1, dword [eax + 0x10]
vsubss xmm3, xmm4, xmm5
vsubss xmm2, xmm2, xmm5
vaddss xmm2, xmm3, xmm2
jmp 0x100bce54
vucomiss xmm0, dword [esi + 0x20]
jb 0x100bd872
vucomiss xmm4, dword [esi + 0x20]
jae 0x100bd460
vsubss xmm1, xmm2, dword [esi + 0x70]
vmulss xmm1, xmm1, dword [eax + 0x10]
vsubss xmm0, xmm0, xmm5
vsubss xmm2, xmm4, xmm5
vaddss xmm0, xmm0, xmm2
jmp 0x100bd435
mov ebx, ecx
mov ecx, edi
vmovss dword [esi + 0x20], xmm6
vmovaps xmm6, xmm5
vmovaps xmm4, xmmword [esi + 0x40]
vmovaps xmm2, xmm1
mov dword [esi + 0x40], ecx
lea edi, [ecx + 1]
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm1, xmm5, edi
vsubss xmm5, xmm1, xmm4
vfmadd213ss xmm5, xmm7, xmm2
vmovss xmm1, dword [eax + 0x10]
vcvtsi2ss xmm2, xmm3, ecx
vsubss xmm2, xmm6, xmm2
vsubss xmm6, xmm5, xmm0
vmulss xmm6, xmm1, xmm6
vmovss xmm4, dword [0x10144ae0]
vaddss xmm2, xmm2, xmm4
vmulss xmm2, xmm2, dword [0x10146e34]
vaddss xmm2, xmm2, xmm4
vfmadd213ss xmm2, xmm6, dword [edx + ecx*4]
vmovss dword [edx + ecx*4], xmm2
mov ecx, ebx
sub ecx, edi
vmovaps xmmword [esi + 0x80], xmm7
jle 0x100bcaa4
vmulss xmm7, xmm7, xmm1
vmulss xmm2, xmm7, dword [0x10145a98]
mov edx, dword [esi + 0x40]
not edx
add edx, ebx
test dl, 1
je 0x100bd939
vaddss xmm4, xmm2, xmm6
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x40]
vaddss xmm4, xmm4, dword [edx + edi*4 + 4]
vmovss dword [edx + edi*4 + 4], xmm4
vaddss xmm6, xmm7, xmm6
add edi, 2
lea edx, [ebx - 2]
cmp edx, dword [esi + 0x40]
mov edx, dword [esi + 0x28]
je 0x100bcaa4
nop dword [eax + eax]
vaddss xmm4, xmm2, xmm6
vaddss xmm4, xmm4, dword [edx + edi*4]
vmovss dword [edx + edi*4], xmm4
vaddss xmm4, xmm7, xmm6
vaddss xmm6, xmm2, xmm4
vaddss xmm6, xmm6, dword [edx + edi*4 + 4]
vmovss dword [edx + edi*4 + 4], xmm6
vaddss xmm6, xmm7, xmm4
add edi, 2
cmp ebx, edi
jne 0x100bd950
jmp 0x100bcaa4
vmovaps xmm0, xmm6
vucomiss xmm1, xmm2
jb 0x100bda75
vucomiss xmm1, xmm5
jb 0x100bda75
vmovss xmm1, dword [eax + 0x10]
vsubss xmm0, xmm0, xmm3
mov ecx, dword [esi + 0x140]
vfmadd213ss xmm0, xmm1, dword [ecx]
vmovss dword [ecx], xmm0
jmp 0x100bcb02
lea edx, [ecx + 1]
vcvtsi2ss xmm6, xmm1, edx
vucomiss xmm0, xmm6
jb 0x100bd9ca
vucomiss xmm4, xmm6
jae 0x100bd9fd
vsubss xmm2, xmm5, xmm2
vmulss xmm2, xmm2, dword [eax + 0x10]
vsubss xmm0, xmm0, xmm3
vsubss xmm3, xmm4, xmm3
vaddss xmm0, xmm0, xmm3
vmulss xmm0, xmm0, dword [0x10146e34]
vaddss xmm0, xmm0, dword [0x10144ae0]
mov edx, dword [esi + 0x28]
vfmadd213ss xmm0, xmm2, dword [edx + ecx*4]
vmovss dword [edx + ecx*4], xmm0
vmovss xmm0, dword [eax + 0x18]
vucomiss xmm1, xmm0
ja 0x100bcb10
vmovss xmm4, dword [eax + 0x14]
vucomiss xmm4, dword [esi + 0x1c]
ja 0x100bcb10
vucomiss xmm4, xmm1
vmovaps xmm5, xmmword [esi + 0x40]
vmovaps xmm2, xmm5
vmovaps xmm3, xmm1
jbe 0x100bda4b
vsubss xmm2, xmm5, xmm5
vsubss xmm3, xmm4, xmm1
vmulss xmm2, xmm2, xmm3
vdivss xmm2, xmm2, dword [esi + 0x128]
vaddss xmm2, xmm5, xmm2
vmovaps xmm3, xmm4
vmovss xmm6, dword [esi + 0x1c]
vucomiss xmm6, xmm0
jbe 0x100bdac3
vsubss xmm4, xmm5, xmm2
vsubss xmm5, xmm0, xmm6
vmulss xmm4, xmm5, xmm4
vsubss xmm5, xmm6, xmm3
vdivss xmm4, xmm4, xmm5
vmovaps xmm5, xmmword [esi + 0x40]
vaddss xmm5, xmm5, xmm4
jmp 0x100bdac7
vucomiss xmm2, dword [0x10144ae0]
vmovss xmm1, dword [esi + 0x18]
jb 0x100bda92
vucomiss xmm5, dword [0x10144ae0]
jae 0x100bcb10
vsubss xmm0, xmm0, xmm3
vmulss xmm0, xmm0, dword [eax + 0x10]
vaddss xmm1, xmm2, xmm5
vmulss xmm1, xmm1, dword [0x10146e34]
vaddss xmm1, xmm1, dword [0x10144ae0]
mov ecx, dword [esi + 0x140]
vfmadd213ss xmm1, xmm0, dword [ecx]
vmovss dword [ecx], xmm1
jmp 0x100bcb02
vmovaps xmm0, xmm6
lea edx, [ecx + 1]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm4, xmm7, edx
vucomiss xmm4, xmm2
jb 0x100bdb02
vucomiss xmm4, xmm5
jb 0x100bdb02
vmovss xmm1, dword [eax + 0x10]
vsubss xmm0, xmm0, xmm3
mov edx, dword [esi + 0x12c]
vfmadd213ss xmm0, xmm1, dword [edx + ecx*4]
vmovss xmm1, dword [esi + 0x18]
vmovss dword [edx + ecx*4], xmm0
jmp 0x100bcb10
vmovaps xmm6, xmm5
lea edx, [ecx + 2]
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm5, xmm7, edx
vucomiss xmm2, xmm5
jb 0x100bdb21
vucomiss xmm6, xmm5
jae 0x100bcb10
vsubss xmm0, xmm0, xmm3
vmulss xmm0, xmm0, dword [eax + 0x10]
vsubss xmm2, xmm2, xmm4
vsubss xmm1, xmm6, xmm4
vaddss xmm1, xmm2, xmm1
vmulss xmm1, xmm1, dword [0x10146e34]
vaddss xmm1, xmm1, dword [0x10144ae0]
mov edx, dword [esi + 0x12c]
vfmadd213ss xmm1, xmm0, dword [edx + ecx*4]
vmovss dword [edx + ecx*4], xmm1
jmp 0x100bcb02
cmp dword [esi + 0x130], 0x7ffffffe
vmovss xmm3, dword [0x10145a98]
vmovss xmm4, dword [0x10147544]
mov ebx, dword [esi + 0x150]
mov edi, dword [esi + 0x28]
mov edx, dword [esi + 0x1a0]
ja 0x100bdbe3
xor eax, eax
vxorps xmm0, xmm0, xmm0
nop word cs:[eax + eax]
vaddss xmm0, xmm0, dword [edx + eax*4]
vaddss xmm1, xmm0, dword [edi + eax*4]
vbroadcastss xmm2, dword [0x10145a88]
vandps xmm1, xmm1, xmm2
vfmadd213ss xmm1, xmm4, xmm3
vcvttss2si ecx, xmm1
cmp ecx, 0xff
mov edi, edx
mov edx, 0xff
cmovge ecx, edx
mov edx, edi
mov edi, dword [esi + 0xc4]
mov byte [edi + eax], cl
mov edi, dword [esi + 0x28]
inc eax
cmp ebx, eax
jne 0x100bdba0
cmp dword [esi + 0xec], 0
mov edi, dword [esi + 0x1b4]
je 0x100bc950
mov ecx, dword [esi + 0xec]
lea eax, [esi + 0xcc]
nop word cs:[eax + eax]
vmovss xmm0, dword [ecx + 8]
vaddss xmm0, xmm0, dword [ecx + 4]
vmovss dword [ecx + 4], xmm0
mov eax, dword [eax]
mov ecx, dword [eax]
test ecx, ecx
jne 0x100bdc10
jmp 0x100bc950
cmp dword [esi + 0x174], 0
setne al
cmp dword [esi + 0x14c], 0
sete ah
and ah, al
mov byte [esi + 0x40], ah
lea ebx, [edx + 4]
mov ecx, edx
mov eax, edi
jmp 0x100bdc8b
mov ecx, dword [esi + 0xcc]
mov dword [eax], ecx
mov dword [esi + 0xcc], eax
mov ecx, ebx
lea edx, [ecx + 0x14]
vmovss xmm0, dword [ecx + 0x18]
add ecx, 0x18
vucomiss xmm4, xmm0
mov ebx, ecx
mov ecx, edx
mov eax, edi
jb 0x100bca6b
vmovss xmm1, dword [ecx + 0xc]
vucomiss xmm0, xmm1
jne 0x100bdc98
jnp 0x100bdcb0
test eax, eax
je 0x100bdcc0
mov edi, dword [eax]
jmp 0x100bdd48
mov edi, eax
vmovss xmm1, dword [esi + 0x18]
jmp 0x100bdc70
mov edx, dword [esi + 0x10c]
test edx, edx
je 0x100bdcd3
dec edx
mov edi, dword [esi + 0xc0]
jmp 0x100bdd2d
mov dword [esi + 0x20], ebx
mov dword [esi + 0x80], ecx
mov dword [esi + 0x448], 7
push 0xdac4
call fcn.1009b6d0
add esp, 4
test eax, eax
vmovss xmm2, dword [esi + 0x148]
mov edx, dword [esi + 0xc0]
vmovss xmm4, dword [esi + 0x1c]
mov ecx, dword [esi + 0x80]
mov ebx, dword [esi + 0x20]
je 0x100bdde7
mov dword [eax], edx
vmovss xmm1, dword [ecx + 0xc]
vmovss xmm0, dword [ebx]
mov edx, 0x7cf
mov edi, eax
vxorps xmm7, xmm7, xmm7
lea eax, [edx + edx*8]
lea eax, [eax + eax*2]
mov dword [esi + 0x10c], edx
add eax, edx
mov dword [esi + 0xc0], edi
add eax, edi
add eax, 4
xor edi, edi
vsubss xmm0, xmm1, xmm0
vmovss xmm1, dword [ecx + 8]
vsubss xmm1, xmm1, dword [ecx]
vdivss xmm0, xmm1, xmm0
vmovss dword [eax + 8], xmm0
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jne 0x100bdd6a
jnp 0x100bdd76
vmovss xmm1, dword [0x10144ae0]
vdivss xmm1, xmm1, xmm0
vmovss dword [eax + 0xc], xmm1
vmovss xmm3, dword [esi + 0x18]
vsubss xmm1, xmm3, dword [ebx]
vfmadd213ss xmm1, xmm0, dword [ecx]
vsubss xmm0, xmm1, xmm2
vmovaps xmm1, xmm3
vmovss dword [eax + 4], xmm0
mov edx, ecx
xor ecx, ecx
cmp dword [edx + 0x10], 0
sete cl
vmovss xmm0, dword [ecx*4 + 0x1014a048]
vmovss dword [eax + 0x10], xmm0
vmovss xmm0, dword [ebx]
vmovss dword [eax + 0x14], xmm0
mov ebx, edx
vmovss xmm0, dword [edx + 0xc]
vmovss dword [eax + 0x18], xmm0
mov dword [eax], 0
vucomiss xmm3, xmm0
seta cl
and cl, byte [esi + 0x40]
cmp cl, 1
jne 0x100bdc60
vmovss dword [eax + 0x18], xmm1
jmp 0x100bdc60
mov dword [esi + 0xc0], edx
xor edi, edi
mov dword [esi + 0x10c], 0
vxorps xmm7, xmm7, xmm7
vmovss xmm1, dword [esi + 0x18]
jmp 0x100bdc70
test ecx, ecx
je 0x100bde3d
mov dword [esi + 0x448], 7
nop word cs:[eax + eax]
mov eax, ecx
mov ecx, dword [ecx]
mov dword [esi + 0xc0], ecx
push eax
call fcn.1009b700
add esp, 4
mov ecx, dword [esi + 0xc0]
test ecx, ecx
jne 0x100bde20
mov dword [esi + 0x448], 7
lea eax, [esi + 0x1e8]
cmp dword [esi + 0x28], eax
je 0x100bde5d
push dword [esi + 0x28]
call fcn.1009b700
add esp, 4
push dword [esi + 0x7c]
call fcn.1009b700
add esp, 4
push dword [esi + 0x74]
call fcn.1009b700
mov eax, dword [esi + 0x38]
add esp, 4
push eax
call fcn.1009b700
add esp, 4
jmp 0x100bbd4e
mov edx, dword [esi + 0x104]
mov eax, dword [esi + 0x3c]
add eax, edx
add eax, 0x94
mov dword [esi + 0x78], eax
imul eax, edi, 0x78
mov ecx, dword [esi + 0x198]
vmovss xmm0, dword [ecx + eax + 0x44]
vucomiss xmm0, dword [0x10144ae0]
jne 0x100bdec2
jnp 0x100bb1e4
vbroadcastss ymm0, xmm0
vmulps ymm2, ymm0, ymmword [0x10150500]
vmulps ymm4, ymm0, ymmword [0x10150520]
vmulps ymm5, ymm0, ymmword [0x10150540]
vmulps ymm3, ymm0, ymmword [0x10150560]
vbroadcastss ymm1, dword [0x10144b84]
vsubps ymm6, ymm3, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm3, ymm3
vpsrad ymm7, ymm3, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm3, ymm3, ymm6
vsubps ymm6, ymm5, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm5, ymm5
vpsrad ymm7, ymm5, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm5, ymm5, ymm6
vsubps ymm6, ymm4, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm4, ymm4
vpsrad ymm7, ymm4, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm4, ymm4, ymm6
vsubps ymm6, ymm2, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm7, ymm2
vpsrad ymm2, ymm7, 0x1f
vpand ymm6, ymm6, ymm2
vpbroadcastd ymm2, dword [0x10150580]
vpor ymm6, ymm7, ymm6
vpminud ymm6, ymm6, ymm2
vpminud ymm4, ymm4, ymm2
vpackusdw ymm4, ymm4, ymm6
vpminud ymm5, ymm5, ymm2
vpminud ymm3, ymm3, ymm2
vpackusdw ymm3, ymm3, ymm5
vpermq ymm3, ymm3, 0xd8
vpermq ymm4, ymm4, 0xd8
vpackuswb ymm3, ymm4, ymm3
vpermq ymm3, ymm3, 0xd8
vmovdqu ymmword [esi + 0x1e8], ymm3
vmulps ymm4, ymm0, ymmword [0x101505c0]
vmulps ymm5, ymm0, ymmword [0x101505e0]
vmulps ymm3, ymm0, ymmword [0x10150600]
vsubps ymm6, ymm3, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm3, ymm3
vpsrad ymm7, ymm3, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm3, ymm3, ymm6
vmovdqa ymmword [esi + 0x40], ymm3
vsubps ymm6, ymm5, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm5, ymm5
vpsrad ymm7, ymm5, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm5, ymm5, ymm6
vsubps ymm6, ymm4, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm4, ymm4
vpsrad ymm7, ymm4, 0x1f
vpand ymm6, ymm6, ymm7
vmulps ymm7, ymm0, ymmword [0x101505a0]
vpor ymm4, ymm4, ymm6
vsubps ymm6, ymm7, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm7, ymm7
vpsrad ymm3, ymm7, 0x1f
vpand ymm3, ymm6, ymm3
vpor ymm3, ymm7, ymm3
vpminud ymm3, ymm3, ymm2
vpminud ymm4, ymm4, ymm2
vpackusdw ymm3, ymm4, ymm3
vpminud ymm4, ymm5, ymm2
vpminud ymm5, ymm2, ymmword [esi + 0x40]
vpackusdw ymm4, ymm5, ymm4
vpermq ymm4, ymm4, 0xd8
vpermq ymm3, ymm3, 0xd8
vpackuswb ymm3, ymm3, ymm4
vpermq ymm3, ymm3, 0xd8
vmovdqu ymmword [esi + 0x208], ymm3
vmulps ymm4, ymm0, ymmword [0x10150640]
vmulps ymm5, ymm0, ymmword [0x10150660]
vmulps ymm3, ymm0, ymmword [0x10150680]
vsubps ymm6, ymm3, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm3, ymm3
vpsrad ymm7, ymm3, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm3, ymm3, ymm6
vmovdqa ymmword [esi + 0x40], ymm3
vsubps ymm6, ymm5, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm5, ymm5
vpsrad ymm7, ymm5, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm5, ymm5, ymm6
vsubps ymm6, ymm4, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm4, ymm4
vpsrad ymm7, ymm4, 0x1f
vpand ymm6, ymm6, ymm7
vmulps ymm7, ymm0, ymmword [0x10150620]
vpor ymm4, ymm4, ymm6
vsubps ymm6, ymm7, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm7, ymm7
vpsrad ymm3, ymm7, 0x1f
vpand ymm3, ymm6, ymm3
vpor ymm3, ymm7, ymm3
vpminud ymm3, ymm3, ymm2
vpminud ymm4, ymm4, ymm2
vpackusdw ymm3, ymm4, ymm3
vpminud ymm4, ymm5, ymm2
vpminud ymm5, ymm2, ymmword [esi + 0x40]
vpackusdw ymm4, ymm5, ymm4
vpermq ymm4, ymm4, 0xd8
vpermq ymm3, ymm3, 0xd8
vpackuswb ymm3, ymm3, ymm4
vpermq ymm3, ymm3, 0xd8
vmovdqu ymmword [esi + 0x228], ymm3
vmulps ymm4, ymm0, ymmword [0x101506c0]
vmulps ymm5, ymm0, ymmword [0x101506e0]
vmulps ymm3, ymm0, ymmword [0x10150700]
vsubps ymm6, ymm3, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm3, ymm3
vpsrad ymm7, ymm3, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm3, ymm3, ymm6
vmovdqa ymmword [esi + 0x40], ymm3
vsubps ymm6, ymm5, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm5, ymm5
vpsrad ymm7, ymm5, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm5, ymm5, ymm6
vsubps ymm6, ymm4, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm4, ymm4
vpsrad ymm7, ymm4, 0x1f
vpand ymm6, ymm6, ymm7
vmulps ymm7, ymm0, ymmword [0x101506a0]
vpor ymm4, ymm4, ymm6
vsubps ymm6, ymm7, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm7, ymm7
vpsrad ymm3, ymm7, 0x1f
vpand ymm3, ymm6, ymm3
vpor ymm3, ymm7, ymm3
vpminud ymm3, ymm3, ymm2
vpminud ymm4, ymm4, ymm2
vpackusdw ymm3, ymm4, ymm3
vpminud ymm4, ymm5, ymm2
vpminud ymm5, ymm2, ymmword [esi + 0x40]
vpackusdw ymm4, ymm5, ymm4
vpermq ymm4, ymm4, 0xd8
vpermq ymm3, ymm3, 0xd8
vpackuswb ymm3, ymm3, ymm4
vpermq ymm3, ymm3, 0xd8
vmovdqu ymmword [esi + 0x248], ymm3
vmulps ymm4, ymm0, ymmword [0x10150740]
vmulps ymm5, ymm0, ymmword [0x10150760]
vmulps ymm3, ymm0, ymmword [0x10150780]
vsubps ymm6, ymm3, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm3, ymm3
vpsrad ymm7, ymm3, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm3, ymm3, ymm6
vmovdqa ymmword [esi + 0x40], ymm3
vsubps ymm6, ymm5, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm5, ymm5
vpsrad ymm7, ymm5, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm5, ymm5, ymm6
vsubps ymm6, ymm4, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm4, ymm4
vpsrad ymm7, ymm4, 0x1f
vpand ymm6, ymm6, ymm7
vmulps ymm7, ymm0, ymmword [0x10150720]
vpor ymm4, ymm4, ymm6
vsubps ymm6, ymm7, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm7, ymm7
vpsrad ymm3, ymm7, 0x1f
vpand ymm3, ymm6, ymm3
vpor ymm3, ymm7, ymm3
vpminud ymm3, ymm3, ymm2
vpminud ymm4, ymm4, ymm2
vpackusdw ymm3, ymm4, ymm3
vpminud ymm4, ymm5, ymm2
vpminud ymm5, ymm2, ymmword [esi + 0x40]
vpackusdw ymm4, ymm5, ymm4
vpermq ymm4, ymm4, 0xd8
vpermq ymm3, ymm3, 0xd8
vpackuswb ymm3, ymm3, ymm4
vpermq ymm3, ymm3, 0xd8
vmovdqu ymmword [esi + 0x268], ymm3
vmulps ymm4, ymm0, ymmword [0x101507c0]
vmulps ymm5, ymm0, ymmword [0x101507e0]
vmulps ymm3, ymm0, ymmword [0x10150800]
vsubps ymm6, ymm3, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm3, ymm3
vpsrad ymm7, ymm3, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm3, ymm3, ymm6
vmovdqa ymmword [esi + 0x40], ymm3
vsubps ymm6, ymm5, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm5, ymm5
vpsrad ymm7, ymm5, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm5, ymm5, ymm6
vsubps ymm6, ymm4, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm4, ymm4
vpsrad ymm7, ymm4, 0x1f
vpand ymm6, ymm6, ymm7
vmulps ymm7, ymm0, ymmword [0x101507a0]
vpor ymm4, ymm4, ymm6
vsubps ymm6, ymm7, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm7, ymm7
vpsrad ymm3, ymm7, 0x1f
vpand ymm3, ymm6, ymm3
vpor ymm3, ymm7, ymm3
vpminud ymm3, ymm3, ymm2
vpminud ymm4, ymm4, ymm2
vpackusdw ymm3, ymm4, ymm3
vpminud ymm4, ymm5, ymm2
vpminud ymm5, ymm2, ymmword [esi + 0x40]
vpackusdw ymm4, ymm5, ymm4
vpermq ymm4, ymm4, 0xd8
vpermq ymm3, ymm3, 0xd8
vpackuswb ymm3, ymm3, ymm4
vpermq ymm3, ymm3, 0xd8
vmovdqu ymmword [esi + 0x288], ymm3
vmulps ymm4, ymm0, ymmword [0x10150840]
vmulps ymm5, ymm0, ymmword [0x10150860]
vmulps ymm3, ymm0, ymmword [0x10150880]
vsubps ymm6, ymm3, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm3, ymm3
vpsrad ymm7, ymm3, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm3, ymm3, ymm6
vmovdqa ymmword [esi + 0x40], ymm3
vsubps ymm6, ymm5, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm5, ymm5
vpsrad ymm7, ymm5, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm5, ymm5, ymm6
vsubps ymm6, ymm4, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm4, ymm4
vpsrad ymm7, ymm4, 0x1f
vpand ymm6, ymm6, ymm7
vmulps ymm7, ymm0, ymmword [0x10150820]
vpor ymm4, ymm4, ymm6
vsubps ymm6, ymm7, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm7, ymm7
vpsrad ymm3, ymm7, 0x1f
vpand ymm3, ymm6, ymm3
vpor ymm3, ymm7, ymm3
vpminud ymm3, ymm3, ymm2
vpminud ymm4, ymm4, ymm2
vpackusdw ymm3, ymm4, ymm3
vpminud ymm4, ymm5, ymm2
vpminud ymm5, ymm2, ymmword [esi + 0x40]
vpackusdw ymm4, ymm5, ymm4
vpermq ymm4, ymm4, 0xd8
vpermq ymm3, ymm3, 0xd8
vpackuswb ymm3, ymm3, ymm4
vpermq ymm3, ymm3, 0xd8
vmovdqu ymmword [esi + 0x2a8], ymm3
vmulps ymm4, ymm0, ymmword [0x101508c0]
vmulps ymm5, ymm0, ymmword [0x101508e0]
vmulps ymm3, ymm0, ymmword [0x10150900]
vsubps ymm6, ymm3, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm3, ymm3
vpsrad ymm7, ymm3, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm3, ymm3, ymm6
vsubps ymm6, ymm5, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm5, ymm5
vpsrad ymm7, ymm5, 0x1f
vpand ymm6, ymm6, ymm7
vpor ymm5, ymm5, ymm6
vsubps ymm6, ymm4, ymm1
vcvttps2dq ymm6, ymm6
vcvttps2dq ymm4, ymm4
vpsrad ymm7, ymm4, 0x1f
vpand ymm6, ymm6, ymm7
vmulps ymm0, ymm0, ymmword [0x101508a0]
vpor ymm4, ymm4, ymm6
vsubps ymm1, ymm0, ymm1
vcvttps2dq ymm1, ymm1
vcvttps2dq ymm0, ymm0
vpsrad ymm6, ymm0, 0x1f
vpand ymm1, ymm1, ymm6
vpor ymm0, ymm0, ymm1
vpminud ymm0, ymm0, ymm2
vpminud ymm1, ymm4, ymm2
vpackusdw ymm0, ymm1, ymm0
vpminud ymm1, ymm5, ymm2
vpminud ymm2, ymm3, ymm2
vpackusdw ymm1, ymm2, ymm1
vpermq ymm1, ymm1, 0xd8
vpermq ymm0, ymm0, 0xd8
vpackuswb ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
vmovdqu ymmword [esi + 0x2c8], ymm0
mov eax, dword [esi + 0x3c]
add eax, edx
add eax, 0xa8
mov dword [esi + 0x38], eax
mov eax, dword [eax]
test eax, eax
jle 0x100bb1e0
mov ecx, dword [esi + 0x78]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x100be540
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov edi, dword [esi + 0x15c]
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0xd0]
inc ecx
add edx, 0x10
cmp ecx, eax
jge 0x100bb1e0
cmp dword [edx + 0xc], 0
je 0x100be534
movzx ebx, word [edx + 6]
mov dword [esi + 0x40], ebx
test ebx, ebx
je 0x100be534
mov dword [esi + 0xd0], ecx
mov eax, dword [esi + 0x1b0]
mov ebx, dword [eax]
movzx eax, word [edx + 4]
mov word [esi + 0xa0], ax
movzx eax, word [edx + 8]
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x14]
mov dword [esi + 0x1c], edx
movzx edi, word [edx + 0xa]
mov dword [esi + 0x30], ebx
imul edi, ebx
add edi, eax
movzx edx, word [esi + 0xa0]
mov eax, edx
and eax, 0xffffffe0
mov dword [esi + 0x80], eax
mov ecx, edx
and ecx, 0xfffffff0
mov dword [esi + 0x20], ecx
jmp 0x100be5b5
mov ebx, dword [esi + 0x40]
lea eax, [ebx - 1]
add edi, dword [esi + 0x30]
cmp ebx, 1
mov dword [esi + 0x40], eax
jle 0x100be520
cmp word [esi + 0xa0], 0
je 0x100be5a0
xor eax, eax
cmp word [esi + 0xa0], 0x10
jb 0x100be950
xor ebx, ebx
cmp word [esi + 0xa0], 0x20
jae 0x100be6ff
nop
movzx eax, byte [edi + ebx]
movzx eax, byte [esi + eax + 0x1e8]
vmovd xmm0, eax
movzx eax, byte [edi + ebx + 1]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 1
movzx eax, byte [edi + ebx + 2]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 2
movzx eax, byte [edi + ebx + 3]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 3
movzx eax, byte [edi + ebx + 4]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 4
movzx eax, byte [edi + ebx + 5]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 5
movzx eax, byte [edi + ebx + 6]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 6
movzx eax, byte [edi + ebx + 7]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 7
movzx eax, byte [edi + ebx + 8]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 8
movzx eax, byte [edi + ebx + 9]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 9
movzx eax, byte [edi + ebx + 0xa]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xa
movzx eax, byte [edi + ebx + 0xb]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xb
movzx eax, byte [edi + ebx + 0xc]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xc
movzx eax, byte [edi + ebx + 0xd]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xd
movzx eax, byte [edi + ebx + 0xe]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xe
movzx eax, byte [edi + ebx + 0xf]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xf
vmovdqu xmmword [edi + ebx], xmm0
add ebx, 0x10
cmp ecx, ebx
jne 0x100be5e0
mov eax, ecx
cmp ecx, edx
jne 0x100be950
jmp 0x100be5a0
xor ebx, ebx
mov ecx, dword [esi + 0x80]
nop word [eax + eax]
movzx eax, byte [edi + ebx]
movzx eax, byte [esi + eax + 0x1e8]
vmovd xmm0, eax
movzx eax, byte [edi + ebx + 1]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 1
movzx eax, byte [edi + ebx + 2]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 2
movzx eax, byte [edi + ebx + 3]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 3
movzx eax, byte [edi + ebx + 4]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 4
movzx eax, byte [edi + ebx + 5]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 5
movzx eax, byte [edi + ebx + 6]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 6
movzx eax, byte [edi + ebx + 7]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 7
movzx eax, byte [edi + ebx + 8]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 8
movzx eax, byte [edi + ebx + 9]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 9
movzx eax, byte [edi + ebx + 0xa]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xa
movzx eax, byte [edi + ebx + 0xb]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xb
movzx eax, byte [edi + ebx + 0xc]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xc
movzx eax, byte [edi + ebx + 0xd]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xd
movzx eax, byte [edi + ebx + 0xe]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xe
movzx eax, byte [edi + ebx + 0xf]
vpinsrb xmm0, xmm0, byte [esi + eax + 0x1e8], 0xf
movzx eax, byte [edi + ebx + 0x10]
movzx eax, byte [esi + eax + 0x1e8]
vmovd xmm1, eax
movzx eax, byte [edi + ebx + 0x11]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 1
movzx eax, byte [edi + ebx + 0x12]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 2
movzx eax, byte [edi + ebx + 0x13]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 3
movzx eax, byte [edi + ebx + 0x14]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 4
movzx eax, byte [edi + ebx + 0x15]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 5
movzx eax, byte [edi + ebx + 0x16]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 6
movzx eax, byte [edi + ebx + 0x17]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 7
movzx eax, byte [edi + ebx + 0x18]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 8
movzx eax, byte [edi + ebx + 0x19]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 9
movzx eax, byte [edi + ebx + 0x1a]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 0xa
movzx eax, byte [edi + ebx + 0x1b]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 0xb
movzx eax, byte [edi + ebx + 0x1c]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 0xc
movzx eax, byte [edi + ebx + 0x1d]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 0xd
movzx eax, byte [edi + ebx + 0x1e]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 0xe
movzx eax, byte [edi + ebx + 0x1f]
vpinsrb xmm1, xmm1, byte [esi + eax + 0x1e8], 0xf
vmovdqu xmmword [edi + ebx + 0x10], xmm1
vmovdqu xmmword [edi + ebx], xmm0
add ebx, 0x20
cmp ecx, ebx
jne 0x100be710
cmp ecx, edx
mov ecx, dword [esi + 0x20]
je 0x100be5a0
mov eax, dword [esi + 0x80]
mov ebx, eax
test dl, 0x10
jne 0x100be5e0
nop word cs:[eax + eax]
movzx ebx, byte [edi + eax]
movzx ebx, byte [esi + ebx + 0x1e8]
mov byte [edi + eax], bl
inc eax
cmp edx, eax
jne 0x100be950
jmp 0x100be5a0
mov dword [esi + 0x448], 7
push dword [esi + 0xe8]
vzeroupper
call fcn.1009b700
add esp, 4
push dword [esi + 0xe0]
call fcn.1009b700
add esp, 4
mov eax, dword [esi + 0x124]
test eax, eax
je 0x100be9c3
mov dword [esi + 0x120], 0
mov dword [esi + 0x11c], 0
push eax
call fcn.1009b700
add esp, 4
mov dword [esi + 0x124], 0
xor ecx, ecx
mov eax, dword [esi + 0x3c]
jmp 0x100be9d4
mov ecx, dword [esi + 0x2c]
inc ecx
cmp ecx, dword [esi + 0xbc]
jge 0x100becce
mov dword [esi + 0x2c], ecx
imul edx, ecx, 0xc4
cmp dword [eax + edx + 0xa8], 0
je 0x100be9d0
mov ecx, dword [eax + edx + 4]
mov dword [esi + 0x40], 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
vmovss xmm0, dword [0x10145a68]
test ax, ax
jle 0x100bea23
vmovss xmm0, dword [0x10144ae0]
movzx edi, byte [ecx + edx + 6]
shl edi, 8
movzx edx, byte [ecx + edx + 7]
movsx ecx, di
or ecx, edx
vmovss xmm1, dword [0x10145a68]
test cx, cx
jle 0x100bea4a
vmovss xmm1, dword [0x10144ae0]
vxorps xmm3, xmm3, xmm3
vcvtsi2ss xmm2, xmm3, eax
sub eax, ecx
vxorps xmm3, xmm3, xmm3
vcvtsi2ss xmm3, xmm3, eax
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x54]
imul ebx, dword [esi + 0x2c], 0x78
lea eax, [edi + ebx]
vmovss xmm4, dword [edi + ebx + 0x10]
vdivss xmm3, xmm4, xmm3
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm4, xmm5, ecx
mov dword [esi + 0xa0], edi
mov dword [esi + 0x34], ebx
mov ecx, dword [edi + ebx + 0x74]
vfmadd213ss xmm2, xmm3, xmm0
vcvttps2dq xmm0, xmm2
vcvtdq2ps xmm0, xmm0
vfmadd213ss xmm4, xmm3, xmm1
vcvttps2dq xmm1, xmm4
vcvtdq2ps xmm1, xmm1
mov dword [esi + 0x448], 7
sub esp, 0x14
mov dword [esp + 8], eax
mov dword [esi + 0x20], ecx
mov dword [esp + 4], ecx
mov dword [esp], edx
vmovss dword [esp + 0x10], xmm1
vmovss dword [esp + 0xc], xmm0
call fcn.100c03a0
add esp, 0x14
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
lea edi, [eax + ecx]
add edi, 0xa8
mov edx, dword [esi + 0xa0]
mov ebx, dword [esi + 0x34]
vmovss xmm0, dword [edx + ebx + 0x28]
vmovss dword [esi + 0x30], xmm0
vmovss xmm0, dword [0x10145a98]
mov ecx, dword [esi + 0x20]
vaddss xmm0, xmm0, dword [ecx + 0x4c]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vaddss xmm0, xmm0, dword [edx + ebx + 0x2c]
vmovss dword [esi + 0x1c], xmm0
lea ecx, [edx + ebx]
add ecx, 0x38
mov dword [esi + 0x80], ecx
xor ebx, ebx
mov dword [esi + 0xd0], edi
cmp ebx, dword [edi]
jge 0x100be9d0
nop word cs:[eax + eax]
mov eax, dword [edi - 0x10]
lea ecx, [ebx + ebx*8]
lea ecx, [ecx + ecx*2]
add ecx, ebx
vmovss xmm2, dword [eax + ecx + 0x10]
mov edx, dword [esi + 0x80]
vmovss xmm0, dword [edx]
vmovss xmm1, dword [edx - 4]
vminss xmm0, xmm0, xmm2
vcmpltss xmm3, xmm2, xmm1
vblendvps xmm0, xmm0, xmm1, xmm3
vucomiss xmm2, xmm0
vmovss xmm7, dword [esi + 0x30]
jne 0x100beb7c
jnp 0x100beba1
mov edx, dword [esi + 0x80]
cmp byte [edx - 0x1c], 0
vsubss xmm1, xmm0, xmm2
vmulss xmm1, xmm1, dword [0x10145a98]
je 0x100beb9c
vcvttps2dq xmm1, xmm1
vcvtdq2ps xmm1, xmm1
vaddss xmm7, xmm1, dword [esi + 0x30]
movzx edx, word [eax + ecx]
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm1, xmm4, edx
vmovss dword [esi + 0x40], xmm1
movzx edx, word [eax + ecx + 2]
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm3, xmm4, edx
movzx edx, word [eax + ecx + 4]
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm4, xmm4, edx
movzx edx, word [eax + ecx + 6]
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm5, xmm5, edx
vxorps xmm1, xmm1, xmm1
vaddss xmm6, xmm1, dword [eax + ecx + 8]
vaddss xmm2, xmm1, dword [eax + ecx + 0xc]
vmovss dword [esi + 0x34], xmm2
mov edx, dword [ebp + 8]
vmovaps xmmword [esi + 0xa0], xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, dword [edx + 0x1c]
vmovss xmm2, dword [0x10144ae0]
vdivss xmm0, xmm2, xmm0
vmulss xmm2, xmm0, dword [esi + 0x40]
vmovss dword [esi + 0x40], xmm2
vmulss xmm2, xmm0, xmm4
vcvtsi2ss xmm4, xmm7, dword [edx + 0x20]
vmovss xmm0, dword [0x10144ae0]
vdivss xmm4, xmm0, xmm4
vmulss xmm3, xmm4, xmm3
vmulss xmm4, xmm4, xmm5
vaddss xmm5, xmm1, dword [eax + ecx + 0x14]
vaddss xmm5, xmm7, xmm5
vaddss xmm0, xmm7, xmm6
vaddss xmm6, xmm1, dword [eax + ecx + 0x18]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + ebx*4]
vmovss xmm1, dword [esi + 0x1c]
vaddss xmm6, xmm1, xmm6
vaddss xmm7, xmm1, dword [esi + 0x34]
sub esp, 0x28
vmovaps xmm1, xmmword [esi + 0xa0]
vmovss dword [esp + 0x24], xmm1
vmovss dword [esp + 0x20], xmm4
vmovss dword [esp + 0x1c], xmm2
vmovss dword [esp + 0x18], xmm3
vmovss xmm1, dword [esi + 0x40]
vmovss dword [esp + 0x14], xmm1
vmovss dword [esp + 0x10], xmm6
vmovss dword [esp + 0xc], xmm5
vmovss dword [esp + 8], xmm7
vmovss dword [esp + 4], xmm0
movzx eax, ax
mov dword [esp], eax
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x40], ebx
call fcn.100c0490
mov ebx, dword [esi + 0x40]
inc ebx
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0xd0]
cmp ebx, dword [edi]
jl 0x100beb40
jmp 0x100be9d0
cmp dword [esi + 0xbc], 0
jle 0x100bed2c
lea ecx, [eax + 0xc0]
jmp 0x100becee
add ecx, 0xc4
dec dword [esi + 0xbc]
je 0x100bed2c
mov eax, dword [ecx]
test eax, eax
mov dword [esi + 0x40], ecx
je 0x100bed0d
mov dword [esi + 0x448], 0
push eax
call fcn.1009b700
mov ecx, dword [esi + 0x40]
add esp, 4
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x100bece0
mov dword [esi + 0x448], 1
push eax
call fcn.1009b700
mov ecx, dword [esi + 0x40]
add esp, 4
jmp 0x100bece0
mov dword [esi + 0x448], 7
push dword [ebp + 8]
call fcn.100c0650
add esp, 4
mov eax, dword [esi + 0x16c]
test eax, eax
je 0x100bed5e
mov dword [esi + 0x448], 2
push eax
call fcn.1009b700
add esp, 4
mov eax, dword [esi + 0x124]
test eax, eax
je 0x100bed7b
mov dword [esi + 0x448], 3
push eax
call fcn.1009b700
add esp, 4
mov al, 1
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x100bed9d
mov dword [esi + 0x448], 5
push ecx
mov dword [esi + 0x40], eax
call fcn.1009b700
mov eax, dword [esi + 0x40]
add esp, 4
mov ecx, dword [esi + 0x440]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret