Function at 0x100e83f0
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
mov eax, 0x31c0
call fcn.10157ab0
mov esi, esp
mov dword [esi + 0x3198], ebp
mov edx, ecx
mov dword [esi + 0x319c], esp
mov dword [esi + 0x31a8], 0xffffffff
lea eax, [esi + 0x31a0]
mov dword [esi + 0x31a4], 0x100ef360
mov ecx, dword fs:[0]
mov dword [esi + 0x31a0], ecx
mov dword fs:[0], eax
mov eax, dword [0x1025ae04]
cmp dword [eax], 0
je 0x100e8479
mov ecx, dword [0x1025ae10]
mov eax, dword [ecx]
mov dword [esi + 0x9c], edx
call dword [eax + 0x68]
mov edx, dword [esi + 0x9c]
test al, al
je 0x100e8479
mov edi, dword [edx]
mov eax, dword [edx + 0xc]
mov ebx, dword [edx + 0x10]
mov edx, eax
add ebx, eax
mov dword [esi + 0x1c], ebx
jmp 0x100e8521
mov ecx, edx
call fcn.10019e20
jmp 0x100eaa6f
movss xmm0, dword [esi + 0x140]
mov dword [esi + 0xa0], 0
movss dword [esi + 0xa4], xmm0
mov dword [esi + 0xa8], 0
mov eax, dword [0x1025adc8]
mov ecx, edi
lea edx, [esi + 0xa0]
push edx
call dword [eax + 0x14]
mov eax, dword [esi + 0x3178]
mov dword [edi + 0x26ac], eax
mov eax, dword [esi + 0x317c]
mov dword [edi + 0x26b0], eax
mov eax, dword [esi + 0x3174]
shl eax, 4
lea eax, [eax + eax*2]
push eax
lea eax, [esi + 0x174]
push eax
push dword [edi + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x3180]
mov dword [edi + 0x2690], eax
mov edi, dword [esi + 0x98]
mov edx, dword [esi + 0x90]
mov ecx, dword [esi + 0x14]
mov byte [ecx + 0x64], 1
nop word cs:[eax + eax]
inc edx
cmp edx, ebx
je 0x100ea7c3
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
and eax, edx
mov ecx, dword [ecx + eax*4]
cmp byte [ecx + 0x64], 0
jne 0x100e8520
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x100e8520
mov dword [esi + 0x14], ecx
mov ecx, dword [0x1025ae0c]
cmp dword [ecx + 0x1c], eax
mov ecx, dword [esi + 0x14]
jl 0x100e8520
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x100e850f
cmp dword [ecx + 0x10], 0
je 0x100e850f
mov ebx, dword [eax]
mov eax, ebx
mov dword [esi + 0x10], ebx
test ebx, ebx
mov ebx, dword [esi + 0x1c]
je 0x100e850f
mov dword [esi + 0x98], edi
mov eax, dword [0x1025af58]
test al, 1
je 0x100e9624
mov edi, dword [0x1025af54]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
cmp dword [eax + edi], 0
mov edi, dword [esi + 0x98]
jle 0x100e850f
mov eax, dword [0x1025af60]
test al, 1
je 0x100e9764
mov edi, dword [0x1025af5c]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
cmp byte [eax + edi], 0
mov edi, dword [esi + 0x98]
jne 0x100e850f
mov dword [esi + 0x90], edx
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
push 0x3044
push 0
lea eax, [esi + 0x140]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [0x10260704]
test al, 1
je 0x100e9985
mov edi, dword [0x10260700]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + eax - 0x14]
test eax, eax
je 0x100e861d
movss xmm0, dword [eax + 0x80]
movss dword [esi + 0x140], xmm0
mov eax, dword [0x102606b4]
test al, 1
je 0x100e9a98
mov edi, dword [0x102606b0]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0x144]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [0x102606bc]
test al, 1
je 0x100e9bab
mov edi, dword [0x102606b8]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0x150]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [0x102606c4]
test al, 1
je 0x100e9c70
mov edi, dword [0x102606c0]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0x15c]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [0x102606cc]
test al, 1
je 0x100e9d83
mov edi, dword [0x102606c8]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0x168]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [edi + 0x26ac]
mov dword [esi + 0x3178], eax
mov eax, dword [edi + 0x26b0]
mov dword [esi + 0x317c], eax
mov eax, dword [edi + 0x291c]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push dword [edi + 0x2910]
lea eax, [esi + 0x174]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x291c]
mov dword [esi + 0x3174], eax
mov eax, dword [edi + 0x2690]
mov dword [esi + 0x3180], eax
mov ecx, dword [esi + 0x14]
cmp dword [ecx + 0x8c], 0
mov edx, dword [ecx + 0x10]
je 0x100e8bc9
cmp byte [edx + 1], 0
je 0x100e9406
xorps xmm0, xmm0
movaps xmmword [esi + 0xe0], xmm0
movaps xmmword [esi + 0xd0], xmm0
movaps xmmword [esi + 0xc0], xmm0
movaps xmmword [esi + 0xb0], xmm0
movaps xmmword [esi + 0xa0], xmm0
mov dword [esi + 0xf0], 0
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x18]
xor edi, edi
cmp ecx, 3
cmovge ecx, edi
mov eax, dword [eax]
mov dword [esi + 8], eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 4], ecx
jmp 0x100e87b2
mov ecx, dword [esi + 0x18]
lea edi, [ecx + 1]
cmp ecx, 1
mov ebx, dword [esi + 0x1c]
ja 0x100e93ed
mov dword [esi + 0x18], edi
mov ebx, dword [esi + 4]
add ebx, edi
mov eax, ebx
mov ecx, 0x55555556
imul ecx
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x10]
test edi, edi
mov dword [esi + 0x10], ecx
jne 0x100e8848
mov eax, dword [0x102606b4]
test al, 1
mov dword [esi + 0xc], edx
je 0x100e89b5
mov edi, dword [0x102606b0]
mov dword [esi + 0x31a8], 0xffffffff
lea eax, [ecx + 0x6c]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 8]
mov edi, dword [esi + 8]
mov dword [ecx + edi + 8], edx
movsd xmm0, qword [eax]
movsd qword [ecx + edi], xmm0
mov edx, dword [0x1025adc8]
mov ecx, edi
push eax
call dword [edx + 0x18]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov ecx, dword [esi + 0x10]
test eax, eax
mov edx, dword [esi + 0xc]
je 0x100e8848
lea edx, [ecx + 0x78]
lea edi, [ecx + 0x84]
mov dword [esi + 4], ebx
mov ebx, dword [0x1025adc8]
mov ecx, eax
push edi
push edx
call dword [ebx + 0x28]
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 4]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
sub ebx, eax
mov dword [esi + 0x31a8], 0xffffffff
cmp ebx, 3
jae 0x100eaa83
mov dword [esi + 4], ebx
imul ebx, ebx, 0x32e0
lea eax, [ecx + ebx]
add eax, 0x3c8
mov dword [esi + 0xc], eax
movss xmm0, dword [ecx + ebx + 0x33cc]
mov dword [esi + 0x40], 0
movss dword [esi + 0x44], xmm0
mov dword [esi + 0x48], 0
mov eax, dword [0x1025adc8]
mov edi, dword [esi + 8]
mov ecx, edi
lea edx, [esi + 0x40]
push edx
call dword [eax + 0x14]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ebx + 0x33c8]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push dword [esi + 0xc]
push dword [edi + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x1025adc8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xa]
mov eax, dword [eax]
mov dword [edi + 0x2690], eax
mov ecx, dword [0x1025ae2c]
mov ebx, dword [esi + 0x14]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov edx, dword [ebx + 8]
mov dword [esi + 0x48], edx
movsd xmm0, qword [ebx]
movsd qword [esi + 0x40], xmm0
mov dword [esi + 0x4c], 0
movss xmm0, dword [ebx + 0x84]
subss xmm0, dword [ebx + 8]
movsd xmm2, qword [ebx]
movsd xmm1, qword [ebx + 0x7c]
subps xmm1, xmm2
movlps qword [esi + 0x50], xmm1
movss dword [esi + 0x58], xmm0
xorps xmm2, xmm2
lea edx, [esi + 0x5c]
movups xmmword [edx + 0x10], xmm2
movups xmmword [edx], xmm2
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
mov byte [esi + 0x84], 1
movaps xmm2, xmm1
mulps xmm2, xmm1
shufps xmm2, xmm2, 0x55
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x101a9780]
setp dl
setne dh
or dh, dl
mov byte [esi + 0x85], dh
mov edx, dword [ecx]
lea edi, [esi + 0xa0]
push edi
push eax
push 0x4600400b
lea eax, [esi + 0x40]
push eax
call dword [edx + 0xc]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov dword [esi + 8], eax
cmp dword [esi + 0xec], eax
jne 0x100e87a0
mov eax, dword [esi + 0xe4]
cmp eax, dword [ebx + 0x90]
jne 0x100e87a0
jmp 0x100e9354
mov dword [esi + 4], ebx
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0x15ac1736
mov ecx, 0xe2df4f4e
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0x948b0fef
mov ecx, 0x4eb22da8
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0xb36874a
mov ecx, 0x525bcea0
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x7152cc
mov eax, 0xc82e6598
mov edx, 0x61c25253
mov edi, 0x91be0d0d
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], edi
mov edx, 0x38ed4096
mov edi, 0xb9f27b86
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], edi
mov edx, 0x3c32a9c9
mov edi, 0x7979e42f
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], edi
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x110], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x31a8], 0xe
lea ecx, [esi + 0x118]
lea eax, [esi + 0x20]
push eax
call fcn.10015170
cmp dword [esi + 0x12c], 0x10
lea eax, [esi + 0x118]
mov dword [esi + 0x94], eax
jb 0x100e8a97
mov eax, dword [esi + 0x118]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x128]
mov dword [esi + 0x88], eax
test eax, eax
je 0x100e8ac6
mov eax, dword [esi + 0x88]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x10c], ecx
cmp eax, 4
jae 0x100e8acd
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e8b1d
mov ecx, 0x811c9dc5
jmp 0x100e8b43
mov edi, dword [esi + 0x88]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x94]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100e8add
cmp dword [esi + 0x10c], 0
je 0x100e8b43
add edx, dword [esi + 0x94]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x10c], edi
jne 0x100e8b2e
mov edx, dword [esi + 0x110]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eaa8d
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0x88]
cmp eax, dword [edi + 0x18]
jne 0x100e8b93
cmp dword [edi + 0x1c], 0x10
jb 0x100e8b77
mov eax, dword [edi + 8]
jmp 0x100e8b7a
lea eax, [edi + 8]
push dword [esi + 0x88]
push eax
push dword [esi + 0x94]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e8ba0
cmp edi, ebx
je 0x100eaa8d
mov edi, dword [edi + 4]
jmp 0x100e8b61
add edi, 0x20
lea ecx, [esi + 0x118]
call fcn.10015110
mov dword [0x102606b0], edi
mov dword [esi + 0x31a8], 0xffffffff
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0x10]
jmp 0x100e87f0
mov eax, dword [edx + 0x18]
mov dword [esi + 4], eax
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax]
mov eax, dword [0x102606b4]
test al, 1
mov dword [esi + 0x10], ebx
je 0x100ea08d
mov edi, dword [0x102606b0]
mov dword [esi + 0x31a8], 0xffffffff
lea eax, [edx + 0x6c]
mov ecx, dword [edi + 4]
mov edi, edx
mov edx, dword [eax + 8]
mov dword [ecx + ebx + 8], edx
movsd xmm0, qword [eax]
movsd qword [ecx + ebx], xmm0
mov edx, dword [0x1025adc8]
mov ecx, ebx
push eax
call dword [edx + 0x18]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
test eax, eax
je 0x100e8c41
lea ecx, [edi + 0x78]
mov dword [esi + 8], ecx
lea edx, [edi + 0x84]
mov ebx, dword [0x1025adc8]
mov ecx, eax
push edx
push dword [esi + 8]
call dword [ebx + 0x28]
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 4]
cmp eax, 2
jg 0x100e8c5f
ja 0x100eaa83
imul eax, eax, 0x32e0
add edi, eax
add edi, 0x3c8
jmp 0x100e8c79
add eax, 0xfffffffd
cmp eax, 2
jae 0x100eaa88
imul eax, eax, 0x32e0
add edi, eax
add edi, 0x9c68
movss xmm0, dword [edi + 0x3004]
mov dword [esi + 0xa0], 0
movss dword [esi + 0xa4], xmm0
mov dword [esi + 0xa8], 0
mov eax, dword [0x1025adc8]
mov ecx, ebx
lea ebx, [esi + 0xa0]
push ebx
call dword [eax + 0x14]
mov eax, dword [edi + 0x3000]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push edi
mov edi, dword [esi + 0x10]
push dword [edi + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x1025adc8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xa]
mov eax, dword [eax]
mov dword [edi + 0x2690], eax
xorpd xmm3, xmm3
movapd xmmword [esi + 0xe0], xmm3
movapd xmmword [esi + 0xd0], xmm3
movapd xmmword [esi + 0xc0], xmm3
movapd xmmword [esi + 0xb0], xmm3
movapd xmmword [esi + 0xa0], xmm3
mov dword [esi + 0xf0], 0
mov ecx, dword [0x1025ae2c]
mov ebx, dword [esi + 0x14]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov edx, dword [ebx + 8]
mov dword [esi + 0x48], edx
movsd xmm0, qword [ebx]
movsd qword [esi + 0x40], xmm0
mov dword [esi + 0x4c], 0
movss xmm0, dword [ebx + 0x84]
subss xmm0, dword [ebx + 8]
movsd xmm2, qword [ebx]
movsd xmm1, qword [ebx + 0x7c]
subps xmm1, xmm2
movlps qword [esi + 0x50], xmm1
movss dword [esi + 0x58], xmm0
lea edx, [esi + 0x5c]
movupd xmmword [edx + 0x10], xmm3
movupd xmmword [edx], xmm3
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
mov byte [esi + 0x84], 1
movaps xmm2, xmm1
mulps xmm2, xmm1
shufps xmm2, xmm2, 0x55
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x101a9780]
setp dl
setne dh
or dh, dl
mov byte [esi + 0x85], dh
mov edx, dword [ecx]
lea edi, [esi + 0xa0]
push edi
push eax
push 0x4600400b
lea eax, [esi + 0x40]
push eax
call dword [edx + 0xc]
mov eax, dword [esi + 0xec]
mov ecx, dword [ebx + 0xc]
cmp eax, dword [ecx]
je 0x100e8e1b
movss xmm0, dword [ebx + 8]
subss xmm0, dword [ebx + 0x2c]
movss xmm1, dword [ebx]
movss xmm2, dword [ebx + 4]
subss xmm2, dword [ebx + 0x28]
subss xmm1, dword [ebx + 0x24]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
cvtss2sd xmm0, xmm0
xorpd xmm3, xmm3
ucomisd xmm0, xmm3
jb 0x100e9039
sqrtsd xmm0, xmm0
jmp 0x100e905e
mov ecx, dword [0x1025adbc]
call fcn.1014e940
mov eax, 0x12e23636
mov ecx, 0xe2cd6460
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0x188835f2
mov ecx, 0x998614ee
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, 0x3c32a9c9
mov ecx, 0x79598b5b
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov eax, 0x7152cc
mov ebx, 0xc82e6598
mov dword [esi + 0x10], eax
mov ecx, 0x61c25253
mov eax, 0x91be0d0d
mov dword [esi + 8], ecx
mov dword [esi + 4], eax
mov eax, 0x38ed4096
mov ecx, 0xb9f27b86
mov dword [esi + 0x18], eax
mov dword [esi + 0xc], ecx
mov edi, 0x3c32a9c9
mov edx, 0x7979e42f
lea eax, [esi + 0x40]
xor ecx, ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], ebx
mov ecx, dword [esi + 8]
mov dword [esi + 0x44], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x4c], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x94], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x88], edx
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x58], ebx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x40], 0xff998877
mov eax, dword [0x1025adbc]
lea ebx, [esi + 0x20]
push ebx
lea edi, [esi + 0x40]
push edi
push 1
push 1
push eax
call fcn.1014e680
add esp, 0x14
mov eax, 0xeb13721
mov ecx, 0xb1da6c6f
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0x38ed4096
mov ecx, 0xb3970dea
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, edi
xor ecx, ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x44], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x4c], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x48], ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
mov eax, dword [0x1025adbc]
movaps xmmword [esi + 0x20], xmm0
mov dword [esi + 0x40], 0xff0045ff
push ebx
push edi
push 1
push 1
push eax
call fcn.1014e680
add esp, 0x14
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0xc]
inc dword [eax + 0x3030]
mov eax, dword [ecx + 0x10]
cmp byte [eax + 1], 0
je 0x100e934c
cmp dword [ecx + 0x4c], 2
jg 0x100e934c
test byte [eax + 0xc], 1
je 0x100e934c
cmp byte [eax + 3], 0
jne 0x100e934c
cmp byte [eax + 4], 0
jne 0x100e934c
mov edi, dword [eax + 0x18]
test edi, edi
je 0x100e9485
mov edx, ecx
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + 0x303c], 1
jne 0x100e8fdd
mov byte [ecx + 0x302d], 0
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 0x18]
test edi, edi
je 0x100e9485
mov ecx, dword [edx + 0xc]
cmp dword [ecx + 0x303c], 2
jne 0x100e8ffe
mov byte [ecx + 0x302e], 0
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 0x18]
test edi, edi
je 0x100e9485
mov ecx, dword [edx + 0xc]
cmp dword [ecx + 0x303c], 3
jne 0x100e901a
mov byte [ecx + 0x302c], 0
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + 0x18]
add eax, 0x18
cmp edi, 4
ja case.default.0x100e9028
mov ecx, edi
jmp dword [edi*4 + 0x101b1e28]
mov edx, 1
jmp 0x100e94b3
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mov ebx, dword [esi + 0x14]
xorpd xmm3, xmm3
add esp, 8
fstp qword [esi + 0x138]
movsd xmm0, qword [esi + 0x138]
cvtsd2ss xmm4, xmm0
addss xmm4, dword [0x101a9fc8]
movss xmm0, dword [ebx + 8]
subss xmm0, dword [ebx + 0x84]
movss xmm1, dword [ebx]
movss xmm2, dword [ebx + 4]
subss xmm2, dword [ebx + 0x80]
subss xmm1, dword [ebx + 0x7c]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
cvtss2sd xmm0, xmm0
ucomisd xmm0, xmm3
jb 0x100e90b1
sqrtsd xmm0, xmm0
jmp 0x100e90d9
sub esp, 8
movsd qword [esp], xmm0
movss dword [esi + 0x10], xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movss xmm4, dword [esi + 0x10]
add esp, 8
fstp qword [esi + 0x130]
movsd xmm0, qword [esi + 0x130]
cvtsd2ss xmm0, xmm0
ucomiss xmm4, xmm0
jbe 0x100e9216
mov ecx, dword [0x1025adbc]
call fcn.1014e940
mov eax, 0x12e23636
mov ecx, 0xe2cd6460
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0x188835f2
mov ecx, 0x998614ee
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, 0x3c32a9c9
mov ecx, 0x79598b5b
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov ecx, 0x7152cc
mov edi, 0xc82e6598
mov edx, 0x61c25253
mov eax, 0x91be0d0d
mov dword [esi + 4], edx
mov dword [esi + 0x10], eax
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], eax
mov ebx, 0x38ed4096
mov eax, 0xb9f27b86
mov dword [esi + 8], eax
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x48], eax
mov edx, 0x3c32a9c9
mov eax, 0x7979e42f
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], eax
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x38], edi
mov dword [esi + 0x58], edi
lea edi, [esi + 0x40]
mov eax, edi
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x40], 0xffc0c0c0
mov eax, dword [0x1025adbc]
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014e680
add esp, 0x14
mov eax, 0xfddd6e62
mov ecx, 0xeab2126
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xb9f271e8
mov ecx, 0x38ed4096
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x40], eax
mov dword [esi + 0x4c], ebx
mov eax, dword [esi + 8]
mov dword [esi + 0x48], eax
mov eax, edi
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
mov eax, dword [0x1025adbc]
movaps xmmword [esi + 0x20], xmm0
mov dword [esi + 0x40], 0xff60a4f4
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014e680
add esp, 0x14
mov ecx, dword [esi + 0x14]
jmp 0x100e934c
mov eax, dword [0x1025adc4]
cmp byte [eax + 0xcc], 0
mov ecx, dword [esi + 0x14]
je 0x100e934c
mov ecx, dword [0x1025adbc]
call fcn.1014e940
mov eax, 0x12e23636
mov ecx, 0xe2cd6460
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0x188835f2
mov ecx, 0x998614ee
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, 0x3c32a9c9
mov ecx, 0x79598b5b
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov ecx, 0x7152cc
mov edi, 0xc82e6598
mov edx, 0x61c25253
mov eax, 0x91be0d0d
mov dword [esi + 4], edx
mov dword [esi + 0x10], eax
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], eax
mov ebx, 0x38ed4096
mov eax, 0xb9f27b86
mov dword [esi + 8], eax
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x48], eax
mov edx, 0x3c32a9c9
mov eax, 0x7979e42f
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], eax
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x38], edi
mov dword [esi + 0x58], edi
lea edi, [esi + 0x40]
mov eax, edi
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x40], 0xffc0c0c0
mov eax, dword [0x1025adbc]
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014e680
add esp, 0x14
mov eax, 0xf4cc7d7e
mov ecx, 0x61c83632
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x40], eax
mov dword [esi + 0x2c], ebx
mov eax, dword [esi + 8]
mov dword [esi + 0x28], eax
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x48], eax
mov eax, edi
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
mov eax, dword [0x1025adbc]
movaps xmmword [esi + 0x20], xmm0
mov dword [esi + 0x40], 0xff60a4f4
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014e680
mov ecx, dword [esi + 0x14]
add esp, 0x14
mov ebx, dword [esi + 0x1c]
jmp 0x100e9406
mov eax, dword [ebx + 0x10]
mov ecx, dword [esi + 4]
cmp ecx, dword [eax + 0x18]
mov ebx, dword [esi + 0x1c]
je 0x100e93ed
mov edx, dword [esi + 4]
mov dword [eax + 0x18], edx
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x3034], edx
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x3050]
test eax, eax
je 0x100e93ed
mov edx, dword [ecx + 0x3040]
mov dword [esi + 8], edx
mov edx, dword [ecx + 0x304c]
jmp 0x100e939d
inc edx
dec eax
mov ebx, dword [esi + 0x1c]
je 0x100e93ed
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
mov edi, edx
shr edi, 1
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
dec ecx
and ecx, edi
mov edi, edx
and edi, 1
mov ecx, dword [ebx + ecx*4]
mov dword [esi + 0x10], ecx
mov ecx, dword [ecx + edi*8]
cmp byte [ecx + 1], 0
je 0x100e9396
mov ebx, dword [esi + 0x8c]
cmp dword [ecx + 0x18], ebx
jne 0x100e9396
mov ebx, dword [esi + 4]
mov dword [ecx + 0x18], ebx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + edi*8]
mov edi, dword [ecx + 0x1c]
cmp edi, 3
mov ebx, 3
cmovge edi, ebx
mov dword [ecx + 0x1c], edi
jmp 0x100e9396
mov edi, dword [esi + 0x14]
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0x1c]
cmp ecx, 3
mov edx, 3
cmovge ecx, edx
mov dword [eax + 0x1c], ecx
mov ecx, edi
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov eax, dword [0x102606b4]
test al, 1
je 0x100e9ea0
mov edi, dword [0x102606b0]
mov dword [esi + 0x31a8], 0xffffffff
mov eax, dword [edi + 4]
lea edx, [esi + 0x144]
mov ecx, dword [edx + 8]
mov edi, dword [esi + 0x10]
mov dword [eax + edi + 8], ecx
movsd xmm0, qword [edx]
movsd qword [eax + edi], xmm0
mov eax, dword [0x1025adc8]
mov ecx, edi
lea edx, [esi + 0x150]
push edx
call dword [eax + 0x18]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test eax, eax
je 0x100e8485
mov edx, dword [0x1025adc8]
mov ecx, eax
lea eax, [esi + 0x168]
push eax
lea eax, [esi + 0x15c]
push eax
call dword [edx + 0x28]
jmp 0x100e8485
add eax, 0x18
mov edx, 1
xor edi, edi
mov ebx, dword [esi + 0x14]
jmp 0x100e94b8
xor ecx, ecx
mov ebx, dword [esi + 0x14]
cmp dword [ebx + 0x4c], 2
setl cl
mov edx, 2
sub edx, ecx
mov edi, 3
jmp 0x100e94b8
mov edx, 2
mov ebx, dword [esi + 0x14]
mov edi, ecx
mov dword [eax], edx
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x3034], edx
mov ecx, dword [0x1025adbc]
mov ebx, edx
call fcn.1014e940
mov eax, 0xe3cc626e
mov ecx, 0x4b63136
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xd0815be2
mov ecx, 0x5ecd25f2
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x59148b5d
mov ecx, 0x4812cdec
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xac0b45f7
mov ecx, 0x7152c6
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x58], eax
lea edx, [esi + 0x40]
mov eax, edx
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adbc]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x40], 0xff998877
mov dword [esi + 0xc], ebx
push ebx
mov dword [esi + 8], edi
push edi
lea ecx, [esi + 0x20]
push ecx
push edx
push 0
push 1
push eax
call fcn.1014e680
add esp, 0x1c
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x3050]
test eax, eax
je 0x100e95ff
mov edx, dword [ecx + 0x3040]
mov dword [esi + 4], edx
mov edx, dword [ecx + 0x304c]
jmp 0x100e95b2
inc edx
dec eax
je 0x100e95ff
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edi, edx
shr edi, 1
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
dec ecx
and ecx, edi
mov edi, edx
and edi, 1
mov ecx, dword [ebx + ecx*4]
mov dword [esi + 0x10], ecx
mov ecx, dword [ecx + edi*8]
cmp byte [ecx + 1], 0
je 0x100e95ae
mov ebx, dword [esi + 8]
cmp dword [ecx + 0x18], ebx
jne 0x100e95ae
mov ebx, dword [esi + 0xc]
mov dword [ecx + 0x18], ebx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + edi*8]
mov edi, dword [ecx + 0x1c]
cmp edi, 3
mov ebx, 3
cmovge edi, ebx
mov dword [ecx + 0x1c], edi
jmp 0x100e95ae
mov edi, dword [esi + 0x14]
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0x1c]
cmp ecx, 3
mov edx, 3
cmovge ecx, edx
mov dword [eax + 0x1c], ecx
mov ecx, edi
jmp 0x100e934c
mov edx, edi
jmp 0x100e948f
mov dword [esi + 0x90], edx
or eax, 1
mov dword [0x1025af58], eax
mov eax, 0xae0236
mov ecx, 0xe2df4f4e
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa0], ecx
mov eax, 0x51b22da8
mov ecx, 0x94801eff
mov dword [esi + 0xac], eax
mov dword [esi + 0xa8], ecx
mov eax, 0x3c32c1bd
mov ecx, 0x15188167
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb0], ecx
mov ecx, 0x7152cc
mov eax, 0xc82e6598
mov edx, 0x61c25253
mov edi, 0x91be0d0d
mov dword [esi + 0x144], edx
mov dword [esi + 0x140], edi
mov edx, 0x38ed4096
mov edi, 0xb9f27b86
mov dword [esi + 0x14c], edx
mov dword [esi + 0x148], edi
mov edx, 0x3c32a9c9
mov edi, 0x7979e42f
mov dword [esi + 0x154], edx
mov dword [esi + 0x150], edi
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
mov dword [esi + 0x15c], ecx
mov dword [esi + 0x158], eax
xor eax, eax
lea ecx, [esi + 0x140]
movaps xmm0, xmmword [esi + 0xa0]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0xa0], xmm0
movaps xmm0, xmmword [esi + 0xb0]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0xb0], xmm0
mov dword [esi + 0x31a8], 0
lea ecx, [esi + 0x40]
lea eax, [esi + 0xa0]
push eax
call fcn.10015170
cmp dword [esi + 0x54], 0x10
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
jb 0x100e9736
mov eax, dword [esi + 0x40]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 4], eax
test eax, eax
je 0x100e98a4
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100e98ab
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e98f5
mov dword [esi + 0x90], edx
or eax, 1
mov dword [0x1025af60], eax
mov eax, 0xae0236
mov ecx, 0xe2df4f4e
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa0], ecx
mov eax, 0x54b22da8
mov ecx, 0x94801eff
mov dword [esi + 0xac], eax
mov dword [esi + 0xa8], ecx
mov eax, 0x5946c8bd
mov ecx, 0x2a1c8246
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb0], ecx
mov ecx, 0x7152cc
mov eax, 0xc82e6598
mov edx, 0x61c25253
mov edi, 0x91be0d0d
mov dword [esi + 0x144], edx
mov dword [esi + 0x140], edi
mov edx, 0x38ed4096
mov edi, 0xb9f27b86
mov dword [esi + 0x14c], edx
mov dword [esi + 0x148], edi
mov edx, 0x3c32a9c9
mov edi, 0x7979e42f
mov dword [esi + 0x154], edx
mov dword [esi + 0x150], edi
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
mov dword [esi + 0x15c], ecx
mov dword [esi + 0x158], eax
xor eax, eax
lea ecx, [esi + 0x140]
movaps xmm0, xmmword [esi + 0xa0]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0xa0], xmm0
movaps xmm0, xmmword [esi + 0xb0]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0xb0], xmm0
mov dword [esi + 0x31a8], 2
lea ecx, [esi + 0x40]
lea eax, [esi + 0xa0]
push eax
call fcn.10015170
cmp dword [esi + 0x54], 0x10
lea eax, [esi + 0x40]
mov dword [esi + 8], eax
jb 0x100e9876
mov eax, dword [esi + 0x40]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9e96
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100e9fb3
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e9ffd
mov ecx, 0x811c9dc5
jmp 0x100e9912
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100e98b8
cmp dword [esi + 0xc], 0
je 0x100e9912
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100e9900
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eab5c
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100e9956
cmp dword [edi + 0x1c], 0x10
jb 0x100e9940
mov eax, dword [edi + 8]
jmp 0x100e9943
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e9963
cmp edi, ebx
je 0x100eab5c
mov edi, dword [edi + 4]
jmp 0x100e992d
add edi, 0x20
lea ecx, [esi + 0x40]
call fcn.10015110
mov dword [0x1025af54], edi
mov edx, dword [esi + 0x90]
mov ebx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x14]
jmp 0x100e8589
or eax, 1
mov dword [0x10260704], eax
mov eax, 0x4bb333f
mov ecx, 0xc1ed4e4e
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
mov eax, 0x4ba422c9
mov ecx, 0xd4cc56f4
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], ecx
mov eax, 0x3c32cdac
mov ecx, 0x916877c
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], ecx
mov ecx, 0x7152cc
mov eax, 0xc82e6598
mov edx, 0x61c25253
mov edi, 0x91be0d0d
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], edi
mov edx, 0x38ed4096
mov edi, 0xb9f27b86
mov dword [esi + 0xac], edx
mov dword [esi + 0xa8], edi
mov edx, 0x3c32a9c9
mov edi, 0x7979e42f
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb0], edi
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
xor eax, eax
lea ecx, [esi + 0xa0]
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x31a8], 4
lea ecx, [esi + 0x20]
lea eax, [esi + 0x40]
push eax
call fcn.10015170
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9a6a
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea1a9
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea1e5
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea22f
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0x15ac1736
mov ecx, 0xe2df4f4e
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
mov eax, 0x948b0fef
mov ecx, 0x4eb22da8
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xb36874a
mov ecx, 0x525bcea0
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov ecx, 0x7152cc
mov eax, 0xc82e6598
mov edx, 0x61c25253
mov edi, 0x91be0d0d
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], edi
mov edx, 0x38ed4096
mov edi, 0xb9f27b86
mov dword [esi + 0xac], edx
mov dword [esi + 0xa8], edi
mov edx, 0x3c32a9c9
mov edi, 0x7979e42f
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb0], edi
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
xor eax, eax
lea ecx, [esi + 0xa0]
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x31a8], 6
lea ecx, [esi + 0x20]
lea eax, [esi + 0x40]
push eax
call fcn.10015170
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9b7d
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea1b3
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea2b6
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea300
or eax, 1
mov dword [0x102606bc], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
mov eax, 0xf4c85260
mov ecx, 0x12a01330
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xde9b09c9
mov ecx, 0x38ed2eff
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x61c25253
mov ecx, 0x91be0d0d
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
mov eax, 0x38ed4096
mov ecx, 0xb9f27b86
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], ecx
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
mov dword [esi + 0x31a8], 8
lea ecx, [esi + 0xa0]
lea eax, [esi + 0x20]
push eax
call fcn.10015170
cmp dword [esi + 0xb4], 0x10
lea eax, [esi + 0xa0]
mov dword [esi + 8], eax
jb 0x100e9c3f
mov eax, dword [esi + 0xa0]
mov dword [esi + 8], eax
mov eax, dword [esi + 0xb0]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea1bd
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea387
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea3d1
or eax, 1
mov dword [0x102606c4], eax
mov eax, 0x15ac1736
mov ecx, 0xe2df4f4e
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
mov eax, 0x948b0fef
mov ecx, 0x4eb22da8
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x1034874a
mov ecx, 0x3c32daa7
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov ecx, 0x7152cc
mov eax, 0xc82e6598
mov edx, 0x61c25253
mov edi, 0x91be0d0d
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], edi
mov edx, 0x38ed4096
mov edi, 0xb9f27b86
mov dword [esi + 0xac], edx
mov dword [esi + 0xa8], edi
mov edx, 0x3c32a9c9
mov edi, 0x7979e42f
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb0], edi
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
xor eax, eax
lea ecx, [esi + 0xa0]
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x31a8], 0xa
lea ecx, [esi + 0x20]
lea eax, [esi + 0x40]
push eax
call fcn.10015170
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9d55
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea1c7
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea45b
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea4a5
or eax, 1
mov dword [0x102606cc], eax
mov eax, 0x15ac1736
mov ecx, 0xe2df4f4e
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
mov eax, 0x948b0fef
mov ecx, 0x4eb22da8
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x1834874a
mov ecx, 0x3c32dab1
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov ecx, 0x7152cc
mov eax, 0xc82e6598
mov edx, 0x61c25253
mov edi, 0x91be0d0d
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], edi
mov edx, 0x38ed4096
mov edi, 0xb9f27b86
mov dword [esi + 0xac], edx
mov dword [esi + 0xa8], edi
mov edx, 0x3c32a9c9
mov edi, 0x7979e42f
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb0], edi
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
xor eax, eax
lea ecx, [esi + 0xa0]
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x31a8], 0xc
lea ecx, [esi + 0x20]
lea eax, [esi + 0x40]
push eax
call fcn.10015170
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9e68
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea1d1
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea52c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea576
mov ecx, 0x811c9dc5
jmp 0x100ea01a
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0x15ac1736
mov ecx, 0xe2df4f4e
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
mov eax, 0x948b0fef
mov ecx, 0x4eb22da8
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xb36874a
mov ecx, 0x525bcea0
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov ecx, 0x7152cc
mov eax, 0xc82e6598
mov edx, 0x61c25253
mov edi, 0x91be0d0d
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], edi
mov edx, 0x38ed4096
mov edi, 0xb9f27b86
mov dword [esi + 0xac], edx
mov dword [esi + 0xa8], edi
mov edx, 0x3c32a9c9
mov edi, 0x7979e42f
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb0], edi
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
xor eax, eax
lea ecx, [esi + 0xa0]
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x31a8], 0x12
lea ecx, [esi + 0x20]
lea eax, [esi + 0x40]
push eax
call fcn.10015170
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9f85
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea1db
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea5fd
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea647
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100e9fc0
cmp dword [esi + 0xc], 0
je 0x100ea01a
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea008
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eab45
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea05e
cmp dword [edi + 0x1c], 0x10
jb 0x100ea048
mov eax, dword [edi + 8]
jmp 0x100ea04b
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea06b
cmp edi, ebx
je 0x100eab45
mov edi, dword [edi + 4]
jmp 0x100ea035
add edi, 0x20
lea ecx, [esi + 0x40]
call fcn.10015110
mov dword [0x1025af5c], edi
mov edx, dword [esi + 0x90]
mov ebx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x14]
jmp 0x100e85b2
mov dword [esi + 0x88], edx
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0x15ac1736
mov ecx, 0xe2df4f4e
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
mov eax, 0x948b0fef
mov ecx, 0x4eb22da8
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xb36874a
mov ecx, 0x525bcea0
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov ecx, 0x7152cc
mov eax, 0xc82e6598
mov edx, 0x61c25253
mov edi, 0x91be0d0d
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], edi
mov edx, 0x38ed4096
mov edi, 0xb9f27b86
mov dword [esi + 0xac], edx
mov dword [esi + 0xa8], edi
mov edx, 0x3c32a9c9
mov edi, 0x7979e42f
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb0], edi
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
xor eax, eax
lea ecx, [esi + 0xa0]
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x8c], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x31a8], 0x10
lea ecx, [esi + 0x20]
lea eax, [esi + 0x40]
push eax
call fcn.10015170
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 0xc], eax
jb 0x100ea17b
mov eax, dword [esi + 0x20]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 8], eax
test eax, eax
je 0x100ea6d8
mov eax, dword [esi + 8]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100ea6df
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea729
mov ecx, 0x811c9dc5
jmp 0x100ea24c
mov ecx, 0x811c9dc5
jmp 0x100ea31d
mov ecx, 0x811c9dc5
jmp 0x100ea3ee
mov ecx, 0x811c9dc5
jmp 0x100ea4c2
mov ecx, 0x811c9dc5
jmp 0x100ea593
mov ecx, 0x811c9dc5
jmp 0x100ea664
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100ea1f2
cmp dword [esi + 0xc], 0
je 0x100ea24c
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea23a
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eab2e
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea290
cmp dword [edi + 0x1c], 0x10
jb 0x100ea27a
mov eax, dword [edi + 8]
jmp 0x100ea27d
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea29d
cmp edi, ebx
je 0x100eab2e
mov edi, dword [edi + 4]
jmp 0x100ea267
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10015110
mov dword [0x10260700], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e85ff
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100ea2c3
cmp dword [esi + 0xc], 0
je 0x100ea31d
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea30b
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eab17
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea361
cmp dword [edi + 0x1c], 0x10
jb 0x100ea34b
mov eax, dword [edi + 8]
jmp 0x100ea34e
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea36e
cmp edi, ebx
je 0x100eab17
mov edi, dword [edi + 4]
jmp 0x100ea338
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10015110
mov dword [0x102606b0], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e8630
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100ea394
cmp dword [esi + 0xc], 0
je 0x100ea3ee
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea3dc
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eab00
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea432
cmp dword [edi + 0x1c], 0x10
jb 0x100ea41c
mov eax, dword [edi + 8]
jmp 0x100ea41f
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea43f
cmp edi, ebx
je 0x100eab00
mov edi, dword [edi + 4]
jmp 0x100ea409
add edi, 0x20
lea ecx, [esi + 0xa0]
call fcn.10015110
mov dword [0x102606b8], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e865f
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100ea468
cmp dword [esi + 0xc], 0
je 0x100ea4c2
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea4b0
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eaae9
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea506
cmp dword [edi + 0x1c], 0x10
jb 0x100ea4f0
mov eax, dword [edi + 8]
jmp 0x100ea4f3
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea513
cmp edi, ebx
je 0x100eaae9
mov edi, dword [edi + 4]
jmp 0x100ea4dd
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10015110
mov dword [0x102606c0], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e868e
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100ea539
cmp dword [esi + 0xc], 0
je 0x100ea593
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea581
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eaad2
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea5d7
cmp dword [edi + 0x1c], 0x10
jb 0x100ea5c1
mov eax, dword [edi + 8]
jmp 0x100ea5c4
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea5e4
cmp edi, ebx
je 0x100eaad2
mov edi, dword [edi + 4]
jmp 0x100ea5ae
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10015110
mov dword [0x102606c8], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e86bd
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100ea60a
cmp dword [esi + 0xc], 0
je 0x100ea664
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea652
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eaaa4
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea6a8
cmp dword [edi + 0x1c], 0x10
jb 0x100ea692
mov eax, dword [edi + 8]
jmp 0x100ea695
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea6b5
cmp edi, ebx
je 0x100eaaa4
mov edi, dword [edi + 4]
jmp 0x100ea67f
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10015110
mov dword [0x102606b0], edi
mov dword [esi + 0x31a8], 0xffffffff
mov ebx, dword [esi + 0x1c]
jmp 0x100e942b
mov ecx, 0x811c9dc5
jmp 0x100ea746
mov edi, dword [esi + 8]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100ea6ec
cmp dword [esi + 0x18], 0
je 0x100ea746
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x18], edi
jne 0x100ea734
mov edx, dword [esi + 0x8c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eaabb
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 8]
cmp eax, dword [edi + 0x18]
jne 0x100ea78d
cmp dword [edi + 0x1c], 0x10
jb 0x100ea777
mov eax, dword [edi + 8]
jmp 0x100ea77a
lea eax, [edi + 8]
push dword [esi + 8]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea79a
cmp edi, ebx
je 0x100eaabb
mov edi, dword [edi + 4]
jmp 0x100ea764
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10015110
mov dword [0x102606b0], edi
mov dword [esi + 0x31a8], 0xffffffff
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0x88]
jmp 0x100e8bf4
mov ecx, dword [0x1025ae10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
mov dword [esi + 0x31a8], 0xffffffff
call eax
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x28]
mov ecx, dword [esi + 0x9c]
fstp dword [esi + 0x114]
movss xmm0, dword [esi + 0x114]
mulss xmm0, dword [0x101a9dc0]
mov dword [esi + 0x18], esp
cvttss2si eax, xmm0
mov dword [esi + 0x40], eax
sub esp, 0x1c
mov edi, esp
mov dword [esi + 0x90], esp
mov eax, dword [ecx + 0x10]
add eax, dword [ecx + 0xc]
mov edx, dword [ecx]
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], edx
mov dword [esi + 0x98], edi
mov dword [edi + 0x18], eax
sub esp, 0x20
mov edi, esp
lea eax, [esi + 0x40]
mov dword [edi + 0x1c], eax
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x10]
mov dword [edi + 0x14], 0
lea eax, [ebx + edx]
mov dword [esi + 0x1c], eax
mov dword [edi + 0x18], eax
mov eax, dword [ecx]
mov dword [edi + 0x10], eax
mov dword [edi + 8], 0
mov dword [esi + 4], edx
mov dword [edi + 0xc], edx
mov dword [edi + 4], eax
lea edx, [esi + 0x140]
mov dword [esi + 0x8c], edi
mov dword [edi], edx
test eax, eax
je 0x100ea87e
mov edi, dword [eax]
jmp 0x100ea880
xor edi, edi
lea edx, [esi + 0x40]
mov dword [esi + 0xa0], edx
test ebx, ebx
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], eax
je 0x100ea8df
mov edi, dword [esi + 4]
nop word cs:[eax + eax]
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
dec ecx
and ecx, edi
mov edx, dword [eax + ecx*4]
lea ecx, [esi + 0xa0]
call fcn.100edfd0
test al, al
jne 0x100ea8d3
inc edi
dec ebx
jne 0x100ea8a0
mov ecx, dword [esi + 0x9c]
mov ebx, dword [esi + 0x1c]
mov eax, dword [esi + 0x10]
jmp 0x100eaa24
mov dword [esi + 4], edi
mov ecx, dword [esi + 0x9c]
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 4]
mov ebx, dword [esi + 0x1c]
cmp eax, ebx
jne 0x100ea8f1
mov eax, dword [esi + 0x10]
jmp 0x100eaa24
lea edx, [eax + 1]
cmp edx, ebx
jne 0x100ea902
mov ebx, eax
mov eax, dword [esi + 0x10]
jmp 0x100eaa24
mov eax, dword [esi + 0x8c]
add eax, 0x1c
mov dword [esi + 8], eax
jmp 0x100ea91f
mov ebx, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
inc edx
cmp ebx, edx
je 0x100eaa12
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
dec ecx
and ecx, edx
mov ebx, edx
mov edx, dword [eax + ecx*4]
mov ecx, dword [esi + 8]
call fcn.100edfd0
test al, al
mov dword [esi + 0x10], ebx
jne 0x100ea910
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
dec ecx
mov edx, ecx
and edx, ebx
mov ebx, dword [eax + edx*4]
and ecx, dword [esi + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
movsd xmm0, qword [ebx]
movsd qword [edi], xmm0
mov eax, dword [ebx + 0xc]
mov dword [edi + 0xc], eax
movsd xmm0, qword [ebx + 0x10]
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov ecx, dword [edi + 0x14]
movsd qword [edi + 0x10], xmm0
test ecx, ecx
je 0x100ea9b0
lock dec dword [ecx + 4]
jne 0x100ea9b0
mov eax, dword [ecx]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
call dword [eax]
mov ecx, dword [esi + 0xc]
lock dec dword [ecx + 8]
jne 0x100ea9b0
mov eax, dword [ecx]
call dword [eax + 4]
nop word cs:[eax + eax]
movsd xmm0, qword [ebx + 0x58]
movsd qword [edi + 0x58], xmm0
movups xmm0, xmmword [ebx + 0x48]
movups xmmword [edi + 0x48], xmm0
movups xmm0, xmmword [ebx + 0x38]
movups xmmword [edi + 0x38], xmm0
movups xmm0, xmmword [ebx + 0x18]
movups xmm1, xmmword [ebx + 0x28]
movups xmmword [edi + 0x28], xmm1
movups xmmword [edi + 0x18], xmm0
movups xmm0, xmmword [ebx + 0x60]
movups xmm1, xmmword [ebx + 0x70]
movups xmmword [edi + 0x60], xmm0
movups xmmword [edi + 0x70], xmm1
movups xmm0, xmmword [ebx + 0x80]
movups xmmword [edi + 0x80], xmm0
mov eax, dword [ebx + 0x90]
mov dword [edi + 0x90], eax
inc dword [esi + 4]
mov ebx, dword [esi + 0x1c]
mov edi, dword [esi + 0x14]
jmp 0x100ea913
mov eax, dword [esi + 0x8c]
mov eax, dword [eax + 4]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0x9c]
mov dword [esi + 0x144], 0
mov dword [esi + 0x140], eax
mov dword [esi + 0x148], ebx
mov esp, dword [esi + 0x90]
mov edx, dword [esi + 0x98]
mov dword [edx + 8], 0
mov eax, dword [esi + 0x140]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x148]
mov dword [edx + 0xc], eax
lea eax, [esi + 0xa0]
mov dword [edx], eax
call fcn.100eae00
mov esp, dword [esi + 0x18]
mov eax, dword [esi + 0x31a0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1009f460
call fcn.1009f460
mov dword [esi + 0x31a8], 0xf
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x31a8], 0x13
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x31a8], 0x11
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x31a8], 0xd
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x31a8], 0xb
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x31a8], 9
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x31a8], 7
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x31a8], 5
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x31a8], 3
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x31a8], 1
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop word cs:[eax + eax]
push ebp
sub esp, 0x1c
lea esi, [ebp - 0x31ac]
mov ebp, dword [esi + 0x3198]
lea ecx, [esi + 0x40]
call fcn.10015110
add esp, 0x1c
pop ebp
ret