Function at 0x101c0f40
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102a7120
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1f20
call fcn.10296c20
mov eax, dword [0x10560040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1df0], ecx
mov dword [ebp - 0x18b8], 0
mov ecx, 0x108c9974
call fcn.10296940
mov eax, dword [0x108a1c18]
mov dword [ebp - 0x1964], eax
lea ecx, [ebp - 0x1d28]
mov dword [ebp - 0x1990], ecx
mov edx, dword [ebp - 0x1990]
mov eax, dword [ebp - 0x1964]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1990]
mov dword [ebp - 0x1bb0], ecx
mov edx, dword [ebp - 0x1bb0]
mov dword [ebp - 0x1eb8], edx
mov eax, dword [ebp - 0x1d28]
mov ecx, dword [eax]
mov dword [ebp - 0x1d5c], ecx
mov edx, 3
shl edx, 2
mov eax, dword [ebp - 0x1d5c]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1d60], ecx
mov edx, dword [ebp - 0x1d60]
mov dword [ebp - 0x1d64], edx
mov eax, dword [ebp - 0x1d64]
mov dword [ebp - 0x1d68], eax
mov ecx, dword [ebp - 0x1d68]
mov dword [ebp - 0x1d88], ecx
mov edx, dword [ebx + 8]
push edx
mov ecx, dword [ebp - 0x1964]
call dword [ebp - 0x1d88]
mov dword [ebp - 0x1e2c], eax
mov eax, dword [ebp - 0x1e2c]
mov dword [ebp - 0x18bc], eax
cmp dword [ebp - 0x18bc], 0
jne 0x101c1055
xor al, al
jmp 0x101c321e
cmp dword [ebp - 0x18bc], 0
jne 0x101c106a
mov byte [ebp - 0x18b1], 0
jmp 0x101c1710
lea ecx, [ebp - 0x1e34]
mov dword [ebp - 0x1998], ecx
mov edx, dword [ebp - 0x1998]
mov eax, dword [ebp - 0x18bc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1998]
mov dword [ebp - 0x1e30], ecx
mov edx, dword [ebp - 0x1e30]
mov dword [ebp - 0x1ebc], edx
mov eax, dword [ebp - 0x1e34]
mov ecx, dword [eax]
mov dword [ebp - 0x1e5c], ecx
mov edx, 0x98
shl edx, 2
mov eax, dword [ebp - 0x1e5c]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1e60], ecx
mov edx, dword [ebp - 0x1e60]
mov dword [ebp - 0x1e64], edx
mov eax, dword [ebp - 0x1e64]
mov dword [ebp - 0x1e68], eax
mov ecx, dword [ebp - 0x1e68]
mov dword [ebp - 0x1e6c], ecx
mov ecx, dword [ebp - 0x18bc]
call dword [ebp - 0x1e6c]
mov byte [ebp - 0x18c5], al
movzx edx, byte [ebp - 0x18c5]
test edx, edx
jne 0x101c110e
mov byte [ebp - 0x18b1], 0
jmp 0x101c1710
mov eax, dword [ebp - 0x18bc]
add eax, 8
mov dword [ebp - 0x1e70], eax
lea ecx, [ebp - 0x19d4]
mov dword [ebp - 0x197c], ecx
mov edx, dword [ebp - 0x1e70]
mov eax, dword [ebp - 0x197c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x197c]
mov dword [ebp - 0x19d0], ecx
mov edx, dword [ebp - 0x19d0]
mov dword [ebp - 0x1ec0], edx
mov eax, dword [ebp - 0x19d4]
mov ecx, dword [eax]
mov dword [ebp - 0x19d8], ecx
mov edx, 0xa
shl edx, 2
mov eax, dword [ebp - 0x19d8]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x19dc], ecx
mov edx, dword [ebp - 0x19dc]
mov dword [ebp - 0x19e0], edx
mov eax, dword [ebp - 0x19e0]
mov dword [ebp - 0x19e4], eax
mov ecx, dword [ebp - 0x19e4]
mov dword [ebp - 0x19f0], ecx
mov edx, dword [ebp - 0x18bc]
add edx, 8
mov dword [ebp - 0x19e8], edx
mov eax, dword [ebp - 0x19e8]
mov dword [ebp - 0x19ec], eax
mov ecx, dword [ebp - 0x19ec]
call dword [ebp - 0x19f0]
mov dword [ebp - 0x19f4], eax
cmp dword [ebp - 0x19f4], 0x40
jg 0x101c1292
mov ecx, dword [ebp - 0x18bc]
add ecx, 8
mov dword [ebp - 0x19f8], ecx
lea edx, [ebp - 0x1a00]
mov dword [ebp - 0x1994], edx
mov eax, dword [ebp - 0x19f8]
mov ecx, dword [ebp - 0x1994]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1994]
mov dword [ebp - 0x19fc], edx
mov eax, dword [ebp - 0x19fc]
mov dword [ebp - 0x1ec4], eax
mov ecx, dword [ebp - 0x1a00]
mov edx, dword [ecx]
mov dword [ebp - 0x1a04], edx
mov eax, 0xa
shl eax, 2
mov ecx, dword [ebp - 0x1a04]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1a08], edx
mov eax, dword [ebp - 0x1a08]
mov dword [ebp - 0x1a0c], eax
mov ecx, dword [ebp - 0x1a0c]
mov dword [ebp - 0x1a10], ecx
mov edx, dword [ebp - 0x1a10]
mov dword [ebp - 0x1a1c], edx
mov eax, dword [ebp - 0x18bc]
add eax, 8
mov dword [ebp - 0x1a14], eax
mov ecx, dword [ebp - 0x1a14]
mov dword [ebp - 0x1a18], ecx
mov ecx, dword [ebp - 0x1a18]
call dword [ebp - 0x1a1c]
mov dword [ebp - 0x1a20], eax
cmp dword [ebp - 0x1a20], 0
jg 0x101c129e
mov byte [ebp - 0x18b1], 0
jmp 0x101c1710
mov edx, dword [ebp - 0x18bc]
add edx, 8
mov dword [ebp - 0x1a24], edx
lea eax, [ebp - 0x1a2c]
mov dword [ebp - 0x199c], eax
mov ecx, dword [ebp - 0x1a24]
mov edx, dword [ebp - 0x199c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x199c]
mov dword [ebp - 0x1a28], eax
mov ecx, dword [ebp - 0x1a28]
mov dword [ebp - 0x1ec8], ecx
mov edx, dword [ebp - 0x1a2c]
mov eax, dword [edx]
mov dword [ebp - 0x1a30], eax
mov ecx, 2
shl ecx, 2
mov edx, dword [ebp - 0x1a30]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1a34], eax
mov ecx, dword [ebp - 0x1a34]
mov dword [ebp - 0x1a38], ecx
mov edx, dword [ebp - 0x1a38]
mov dword [ebp - 0x1a3c], edx
mov eax, dword [ebp - 0x1a3c]
mov dword [ebp - 0x1a48], eax
mov ecx, dword [ebp - 0x18bc]
add ecx, 8
mov dword [ebp - 0x1a40], ecx
mov edx, dword [ebp - 0x1a40]
mov dword [ebp - 0x1a44], edx
mov ecx, dword [ebp - 0x1a44]
call dword [ebp - 0x1a48]
mov dword [ebp - 0x1a4c], eax
cmp dword [ebp - 0x1a4c], 0
jne 0x101c136a
mov byte [ebp - 0x18b1], 0
jmp 0x101c1710
mov eax, dword [0x108bd02c]
sub eax, 0x2f
xor eax, 0x286b04f7
mov dword [ebp - 0x1a50], eax
mov ecx, dword [ebp - 0x1a50]
mov dword [ebp - 0x1a54], ecx
mov edx, dword [ebp - 0x18bc]
add edx, dword [ebp - 0x1a54]
mov dword [ebp - 0x1a58], edx
mov eax, dword [ebp - 0x1a58]
mov cl, byte [eax]
mov byte [ebp - 0x18c6], cl
cmp byte [ebp - 0x18c6], 0
jne 0x101c1408
mov edx, dword [0x108bd04c]
sub edx, 0x37
xor edx, 0x286b04ff
mov dword [ebp - 0x1a5c], edx
mov eax, dword [ebp - 0x1a5c]
mov dword [ebp - 0x1a60], eax
mov ecx, dword [ebp - 0x18bc]
add ecx, dword [ebp - 0x1a60]
mov dword [ebp - 0x1a64], ecx
mov edx, dword [ebp - 0x1a64]
mov dword [ebp - 0x1a68], edx
mov eax, dword [ebp - 0x1a68]
cmp dword [eax], 0
jle 0x101c1408
mov dword [ebp - 0x19a0], 1
jmp 0x101c1412
mov dword [ebp - 0x19a0], 0
mov cl, byte [ebp - 0x19a0]
mov byte [ebp - 0x18cb], cl
movzx edx, byte [ebp - 0x18cb]
test edx, edx
jne 0x101c1435
mov byte [ebp - 0x18b1], 0
jmp 0x101c1710
mov eax, dword [ebp - 0x18bc]
add eax, dword [0x108a1e54]
mov dword [ebp - 0x1a6c], eax
mov ecx, dword [ebp - 0x1a6c]
mov dl, byte [ecx]
mov byte [ebp - 0x18c7], dl
movzx eax, byte [ebp - 0x18c7]
test eax, eax
je 0x101c146c
mov byte [ebp - 0x18b1], 0
jmp 0x101c1710
mov ecx, dword [0x1078a80c]
mov dword [ebp - 0x1a80], ecx
mov edx, dword [0x108bcffc]
sub edx, 0x23
xor edx, 0x286b04eb
mov dword [ebp - 0x1a70], edx
mov eax, dword [ebp - 0x1a70]
mov dword [ebp - 0x1a74], eax
mov ecx, dword [ebp - 0x18bc]
add ecx, dword [ebp - 0x1a74]
mov dword [ebp - 0x1a78], ecx
mov edx, dword [ebp - 0x1a78]
mov dword [ebp - 0x1a8c], edx
mov eax, dword [0x108bcffc]
sub eax, 0x23
xor eax, 0x286b04eb
mov dword [ebp - 0x1a7c], eax
mov ecx, dword [ebp - 0x1a7c]
mov dword [ebp - 0x1a84], ecx
mov edx, dword [ebp - 0x1a80]
add edx, dword [ebp - 0x1a84]
mov dword [ebp - 0x1a88], edx
mov eax, dword [ebp - 0x1a88]
mov dword [ebp - 0x1a90], eax
mov ecx, dword [ebp - 0x1a8c]
mov edx, dword [ebp - 0x1a90]
mov eax, dword [ecx]
cmp eax, dword [edx]
je 0x101c1517
mov byte [ebp - 0x18bf], 1
jmp 0x101c15c9
mov ecx, dword [0x108a1d14]
mov dword [ebp - 0x19ac], ecx
lea edx, [ebp - 0x1a98]
mov dword [ebp - 0x19a8], edx
mov eax, dword [ebp - 0x19a8]
mov ecx, dword [ebp - 0x19ac]
mov dword [eax], ecx
mov edx, dword [ebp - 0x19a8]
mov dword [ebp - 0x1a94], edx
mov eax, dword [ebp - 0x1a94]
mov dword [ebp - 0x1ecc], eax
mov ecx, dword [ebp - 0x1a98]
mov edx, dword [ecx]
mov dword [ebp - 0x1a9c], edx
mov eax, 0xd
shl eax, 2
mov ecx, dword [ebp - 0x1a9c]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1aa0], edx
mov eax, dword [ebp - 0x1aa0]
mov dword [ebp - 0x1aa4], eax
mov ecx, dword [ebp - 0x1aa4]
mov dword [ebp - 0x1aa8], ecx
mov edx, dword [ebp - 0x1aa8]
mov dword [ebp - 0x1aac], edx
mov ecx, dword [ebp - 0x19ac]
call dword [ebp - 0x1aac]
mov dword [ebp - 0x1ab0], eax
cmp dword [ebp - 0x1ab0], 0
je 0x101c15c2
mov byte [ebp - 0x18bf], 1
jmp 0x101c15c9
mov byte [ebp - 0x18bf], 0
movzx eax, byte [ebp - 0x18bf]
test eax, eax
jne 0x101c15e0
mov byte [ebp - 0x18b1], 0
jmp 0x101c1710
mov ecx, dword [ebp - 0x18bc]
add ecx, 8
mov dword [ebp - 0x1ab4], ecx
lea edx, [ebp - 0x1abc]
mov dword [ebp - 0x19b0], edx
mov eax, dword [ebp - 0x1ab4]
mov ecx, dword [ebp - 0x19b0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x19b0]
mov dword [ebp - 0x1ab8], edx
mov eax, dword [ebp - 0x1ab8]
mov dword [ebp - 0x1ed0], eax
mov ecx, dword [ebp - 0x1abc]
mov edx, dword [ecx]
mov dword [ebp - 0x1ac0], edx
mov eax, 9
shl eax, 2
mov ecx, dword [ebp - 0x1ac0]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1ac4], edx
mov eax, dword [ebp - 0x1ac4]
mov dword [ebp - 0x1ac8], eax
mov ecx, dword [ebp - 0x1ac8]
mov dword [ebp - 0x1acc], ecx
mov edx, dword [ebp - 0x1acc]
mov dword [ebp - 0x1ad8], edx
mov eax, dword [ebp - 0x18bc]
add eax, 8
mov dword [ebp - 0x1ad0], eax
mov ecx, dword [ebp - 0x1ad0]
mov dword [ebp - 0x1ad4], ecx
mov ecx, dword [ebp - 0x1ad4]
call dword [ebp - 0x1ad8]
mov byte [ebp - 0x18c8], al
movzx edx, byte [ebp - 0x18c8]
test edx, edx
je 0x101c16ab
mov byte [ebp - 0x18b1], 0
jmp 0x101c1710
mov eax, dword [0x108bd07c]
sub eax, 0x43
xor eax, 0x286b050b
mov dword [ebp - 0x1adc], eax
mov ecx, dword [ebp - 0x1adc]
mov dword [ebp - 0x1ae0], ecx
mov edx, dword [ebp - 0x18bc]
add edx, dword [ebp - 0x1ae0]
mov dword [ebp - 0x1ae4], edx
mov eax, dword [ebp - 0x1ae4]
mov dword [ebp - 0x1ae8], eax
mov ecx, dword [ebp - 0x1ae8]
vmovss xmm0, dword [ecx]
vucomiss xmm0, dword [0x10547394]
lahf
test ah, 0x44
jnp 0x101c1709
mov byte [ebp - 0x18b1], 0
jmp 0x101c1710
mov byte [ebp - 0x18b1], 1
movzx edx, byte [ebp - 0x18b1]
test edx, edx
jne 0x101c1722
xor al, al
jmp 0x101c321e
mov eax, dword [ebx + 8]
sub eax, 1
push eax
mov ecx, 0x1056130c
call fcn.1004a900
mov dword [ebp - 0x18e0], eax
cmp dword [ebp - 0x18e0], 0
je 0x101c1795
mov ecx, dword [ebp - 0x18e0]
mov dword [ebp - 0x1aec], ecx
mov edx, dword [ebp - 0x1aec]
add edx, 0x10
mov dword [ebp - 0x1af0], edx
mov eax, dword [ebp - 0x1af0]
cmp dword [eax], 0
jne 0x101c1774
mov dword [ebp - 0x19b4], 1
jmp 0x101c177e
mov dword [ebp - 0x19b4], 0
mov cl, byte [ebp - 0x19b4]
mov byte [ebp - 0x18c9], cl
movzx edx, byte [ebp - 0x18c9]
test edx, edx
je 0x101c179c
xor al, al
jmp 0x101c321e
mov eax, dword [ebp - 0x18e0]
mov dword [ebp - 0x1af4], eax
mov ecx, dword [ebp - 0x1af4]
add ecx, 0x10
mov dword [ebp - 0x1af8], ecx
mov edx, dword [ebp - 0x1af8]
mov eax, dword [edx]
mov dword [ebp - 0x1afc], eax
cmp dword [ebp - 0x1afc], 2
jb 0x101c17fe
mov ecx, dword [ebp - 0x18e0]
call fcn.1004b140
mov dword [ebp - 0x1b00], eax
mov ecx, dword [ebp - 0x1b00]
mov edx, dword [ecx]
mov dword [ebp - 0x1b04], edx
mov eax, dword [ebp - 0x1b04]
movzx ecx, byte [eax + 0x3410]
test ecx, ecx
je 0x101c1805
xor al, al
jmp 0x101c321e
mov edx, dword [0x108a1c14]
mov dword [ebp - 0x19bc], edx
lea eax, [ebp - 0x1b0c]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x19b8]
mov edx, dword [ebp - 0x19bc]
mov dword [ecx], edx
mov eax, dword [ebp - 0x19b8]
mov dword [ebp - 0x1b08], eax
mov ecx, dword [ebp - 0x1b08]
mov dword [ebp - 0x1ed4], ecx
mov edx, dword [ebp - 0x1b0c]
mov eax, dword [edx]
mov dword [ebp - 0x1b10], eax
mov ecx, 0x4e
shl ecx, 2
mov edx, dword [ebp - 0x1b10]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1b14], eax
mov ecx, dword [ebp - 0x1b14]
mov dword [ebp - 0x1b18], ecx
mov edx, dword [ebp - 0x1b18]
mov dword [ebp - 0x1b1c], edx
mov eax, dword [ebp - 0x1b1c]
mov dword [ebp - 0x1b20], eax
mov ecx, dword [ebp - 0x19bc]
call dword [ebp - 0x1b20]
mov dword [ebp - 0x1b24], eax
mov ecx, dword [ebp - 0x1b24]
mov dword [ebp - 0x18f0], ecx
cmp dword [ebp - 0x18f0], 0
jne 0x101c18ba
xor al, al
jmp 0x101c321e
mov edx, dword [0x10561178]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x108c2660]
cmp edx, dword [ecx + 4]
jle 0x101c1a88
push 0x108c2660
call fcn.10190760
add esp, 4
cmp dword [0x108c2660], 0xffffffff
jne 0x101c1a88
xor eax, eax
mov byte [ebp - 0x1901], al
mov dword [ebp - 0x1ed8], 0x8c8dc452
mov dword [ebp - 0x1b28], 0x8c8dc452
mov ecx, dword [ebp - 0x1b28]
mov dword [ebp - 0x1b3c], ecx
mov edx, dword [0x108a1c10]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1b2c], eax
mov ecx, dword [ebp - 0x1b2c]
mov dword [ebp - 0x19c0], ecx
cmp dword [ebp - 0x19c0], 0
jne 0x101c1950
mov dword [ebp - 0x192c], 0
jmp 0x101c1a6f
mov edx, dword [ebp - 0x19c0]
mov dword [ebp - 0x18ec], edx
jmp 0x101c196d
mov eax, dword [ebp - 0x18ec]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x18ec], ecx
cmp dword [ebp - 0x18ec], 0
je 0x101c1a65
mov edx, dword [ebp - 0x18ec]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x19c4], eax
mov dword [ebp - 0x1930], 0x811c9dc5
mov dword [ebp - 0x18e8], 0
mov ecx, dword [ebp - 0x18e8]
add ecx, 1
mov dword [ebp - 0x18e8], ecx
mov edx, dword [ebp - 0x19c4]
add edx, dword [ebp - 0x18e8]
movsx eax, byte [edx]
test eax, eax
je 0x101c19c1
jmp 0x101c199d
xor ecx, ecx
je 0x101c19d4
mov edx, dword [ebp - 0x18e8]
add edx, 1
mov dword [ebp - 0x18e8], edx
mov eax, dword [ebp - 0x18e8]
mov dword [ebp - 0x1b30], eax
mov ecx, dword [ebp - 0x1b30]
mov dword [ebp - 0x1b34], ecx
mov dword [ebp - 0x1900], 0
jmp 0x101c1a07
mov edx, dword [ebp - 0x1900]
add edx, 1
mov dword [ebp - 0x1900], edx
mov eax, dword [ebp - 0x1900]
cmp eax, dword [ebp - 0x1b34]
jae 0x101c1a38
mov ecx, dword [ebp - 0x19c4]
add ecx, dword [ebp - 0x1900]
movsx edx, byte [ecx]
xor edx, dword [ebp - 0x1930]
imul eax, edx, 0x1000193
mov dword [ebp - 0x1930], eax
jmp 0x101c19f8
mov ecx, dword [ebp - 0x1930]
mov dword [ebp - 0x1b38], ecx
mov edx, dword [ebp - 0x1b38]
cmp edx, dword [ebp - 0x1b3c]
jne 0x101c1a60
mov eax, dword [ebp - 0x18ec]
mov dword [ebp - 0x192c], eax
jmp 0x101c1a6f
jmp 0x101c195e
mov dword [ebp - 0x192c], 0
mov ecx, dword [ebp - 0x192c]
mov dword [0x108c265c], ecx
push 0x108c2660
call fcn.10190710
add esp, 4
cmp dword [0x108c265c], 0
je 0x101c1b3e
mov edx, dword [0x108c265c]
mov dword [ebp - 0x1938], edx
lea eax, [ebp - 0x1b44]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x19c8]
mov edx, dword [ebp - 0x1938]
mov dword [ecx], edx
mov eax, dword [ebp - 0x19c8]
mov dword [ebp - 0x1b40], eax
mov ecx, dword [ebp - 0x1b40]
mov dword [ebp - 0x1edc], ecx
mov edx, dword [ebp - 0x1b44]
mov eax, dword [edx]
mov dword [ebp - 0x1b48], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0x1b48]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1b4c], eax
mov ecx, dword [ebp - 0x1b4c]
mov dword [ebp - 0x1b50], ecx
mov edx, dword [ebp - 0x1b50]
mov dword [ebp - 0x1b54], edx
mov eax, dword [ebp - 0x1b54]
mov dword [ebp - 0x1b58], eax
mov ecx, dword [ebp - 0x1938]
call dword [ebp - 0x1b58]
fstp dword [ebp - 0x1b5c]
vmovss xmm0, dword [ebp - 0x1b5c]
vmovss dword [0x105602c0], xmm0
lea ecx, [ebp - 0x1b64]
mov dword [ebp - 0x193c], ecx
mov edx, dword [ebp - 0x193c]
mov eax, dword [ebp - 0x18f0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x193c]
mov dword [ebp - 0x1b60], ecx
mov edx, dword [ebp - 0x1b60]
mov dword [ebp - 0x1ee0], edx
mov eax, dword [ebp - 0x1b64]
mov ecx, dword [eax]
mov dword [ebp - 0x1b68], ecx
mov edx, 0xa
shl edx, 2
mov eax, dword [ebp - 0x1b68]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1b6c], ecx
mov edx, dword [ebp - 0x1b6c]
mov dword [ebp - 0x1b70], edx
mov eax, dword [ebp - 0x1b70]
mov dword [ebp - 0x1b74], eax
mov ecx, dword [ebp - 0x1b74]
mov dword [ebp - 0x1b78], ecx
push 0
mov ecx, dword [ebp - 0x18f0]
call dword [ebp - 0x1b78]
fstp dword [ebp - 0x1b98]
lea edx, [ebp - 0x1b80]
mov dword [ebp - 0x1940], edx
mov eax, dword [ebp - 0x1940]
mov ecx, dword [ebp - 0x18f0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1940]
mov dword [ebp - 0x1b7c], edx
mov eax, dword [ebp - 0x1b7c]
mov dword [ebp - 0x1f14], eax
mov ecx, dword [ebp - 0x1b80]
mov edx, dword [ecx]
mov dword [ebp - 0x1b84], edx
mov eax, 0xa
shl eax, 2
mov ecx, dword [ebp - 0x1b84]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1b88], edx
mov eax, dword [ebp - 0x1b88]
mov dword [ebp - 0x1b8c], eax
mov ecx, dword [ebp - 0x1b8c]
mov dword [ebp - 0x1b90], ecx
mov edx, dword [ebp - 0x1b90]
mov dword [ebp - 0x1b94], edx
push 1
mov ecx, dword [ebp - 0x18f0]
call dword [ebp - 0x1b94]
fstp dword [ebp - 0x1b9c]
vmovss xmm0, dword [ebp - 0x1b98]
vaddss xmm0, xmm0, dword [ebp - 0x1b9c]
vmovss dword [ebp - 0x1ba0], xmm0
vmovss xmm0, dword [ebp - 0x1ba0]
vaddss xmm0, xmm0, dword [0x1078c2a4]
vmovss dword [ebp - 0x1e90], xmm0
mov eax, dword [ebp - 0x18e0]
mov dword [ebp - 0x1ba4], eax
lea ecx, [ebp - 0x1830]
push ecx
mov ecx, dword [ebp - 0x1ba4]
call fcn.10073330
mov dword [ebp - 4], 0
jmp 0x101c1cbf
lea ecx, [ebp - 0x1830]
call fcn.10073ac0
nop
mov edx, dword [ebp - 0x18e0]
mov dword [ebp - 0x1ba8], edx
lea eax, [ebp - 0x1f20]
push eax
mov ecx, dword [ebp - 0x1ba8]
call fcn.10073280
mov dword [ebp - 0x1bac], eax
mov ecx, dword [ebp - 0x1bac]
push ecx
lea ecx, [ebp - 0x1830]
call fcn.100718b0
mov byte [ebp - 0x18ca], al
push 3
lea ecx, [ebp - 0x1868]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1f20]
call fcn.1003faf0
lea ecx, [ebp - 0x1868]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
movzx edx, byte [ebp - 0x18ca]
test edx, edx
je 0x101c3209
mov dword [ebp - 0x18ac], 0
mov dword [ebp - 0x18b0], 0
lea ecx, [ebp - 0x1830]
call fcn.100747c0
mov dword [ebp - 0x1bb4], eax
mov eax, dword [ebp - 0x1bb4]
mov dword [ebp - 0x1bb8], eax
mov ecx, dword [ebp - 0x1bb8]
mov dword [ebp - 0x1bbc], ecx
mov edx, dword [ebp - 0x1bbc]
mov dword [ebp - 0x1bc0], edx
mov eax, dword [ebp - 0x1bc0]
mov ecx, dword [eax]
mov dword [ebp - 0x1c58], ecx
mov edx, dword [0x108a1c14]
mov dword [ebp - 0x1948], edx
lea eax, [ebp - 0x1bc8]
mov dword [ebp - 0x1944], eax
mov ecx, dword [ebp - 0x1944]
mov edx, dword [ebp - 0x1948]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1944]
mov dword [ebp - 0x1bc4], eax
mov ecx, dword [ebp - 0x1bc4]
mov dword [ebp - 0x1e94], ecx
mov edx, dword [ebp - 0x1bc8]
mov eax, dword [edx]
mov dword [ebp - 0x1bcc], eax
mov ecx, 0x4e
shl ecx, 2
mov edx, dword [ebp - 0x1bcc]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1bd0], eax
mov ecx, dword [ebp - 0x1bd0]
mov dword [ebp - 0x1bd4], ecx
mov edx, dword [ebp - 0x1bd4]
mov dword [ebp - 0x1bd8], edx
mov eax, dword [ebp - 0x1bd8]
mov dword [ebp - 0x1bdc], eax
mov ecx, dword [ebp - 0x1948]
call dword [ebp - 0x1bdc]
mov dword [ebp - 0x1be0], eax
mov ecx, dword [ebp - 0x1be0]
mov dword [ebp - 0x18f4], ecx
cmp dword [ebp - 0x18f4], 0
jne 0x101c1e41
mov byte [ebp - 0x18bd], 0
jmp 0x101c2137
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1820], xmm0
lea edx, [ebp - 0x1be8]
mov dword [ebp - 0x194c], edx
mov eax, dword [ebp - 0x194c]
mov ecx, dword [ebp - 0x18f4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x194c]
mov dword [ebp - 0x1be4], edx
mov eax, dword [ebp - 0x1be4]
mov dword [ebp - 0x1e98], eax
mov ecx, dword [ebp - 0x1be8]
mov edx, dword [ecx]
mov dword [ebp - 0x1bec], edx
mov eax, 9
shl eax, 2
mov ecx, dword [ebp - 0x1bec]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1bf0], edx
mov eax, dword [ebp - 0x1bf0]
mov dword [ebp - 0x1bf4], eax
mov ecx, dword [ebp - 0x1bf4]
mov dword [ebp - 0x1bf8], ecx
mov edx, dword [ebp - 0x1bf8]
mov dword [ebp - 0x1bfc], edx
push 0
mov ecx, dword [ebp - 0x18f4]
call dword [ebp - 0x1bfc]
fstp dword [ebp - 0x1c1c]
lea eax, [ebp - 0x1c04]
mov dword [ebp - 0x1950], eax
mov ecx, dword [ebp - 0x1950]
mov edx, dword [ebp - 0x18f4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1950]
mov dword [ebp - 0x1c00], eax
mov ecx, dword [ebp - 0x1c00]
mov dword [ebp - 0x1e9c], ecx
mov edx, dword [ebp - 0x1c04]
mov eax, dword [edx]
mov dword [ebp - 0x1c08], eax
mov ecx, 9
shl ecx, 2
mov edx, dword [ebp - 0x1c08]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1c0c], eax
mov ecx, dword [ebp - 0x1c0c]
mov dword [ebp - 0x1c10], ecx
mov edx, dword [ebp - 0x1c10]
mov dword [ebp - 0x1c14], edx
mov eax, dword [ebp - 0x1c14]
mov dword [ebp - 0x1c18], eax
push 1
mov ecx, dword [ebp - 0x18f4]
call dword [ebp - 0x1c18]
fstp dword [ebp - 0x1c20]
vmovss xmm0, dword [ebp - 0x1c1c]
vaddss xmm0, xmm0, dword [ebp - 0x1c20]
vmovss dword [ebp - 0x1c28], xmm0
vmovss xmm0, dword [ebp - 0x1820]
vmovss dword [ebp - 0x1c24], xmm0
vmovss xmm0, dword [ebp - 0x1c24]
vaddss xmm0, xmm0, dword [ebp - 0x1c28]
vmovss dword [ebp - 0x1820], xmm0
vmovss xmm0, dword [ebp - 0x1820]
vaddss xmm0, xmm0, dword [0x1078c2a4]
vmovss dword [ebp - 0x1820], xmm0
mov ecx, dword [0x108a1cd8]
mov dword [ebp - 0x1958], ecx
lea edx, [ebp - 0x1c30]
mov dword [ebp - 0x1954], edx
mov eax, dword [ebp - 0x1954]
mov ecx, dword [ebp - 0x1958]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1954]
mov dword [ebp - 0x1c2c], edx
mov eax, dword [ebp - 0x1c2c]
mov dword [ebp - 0x1ea0], eax
mov ecx, dword [ebp - 0x1c30]
mov edx, dword [ecx]
mov dword [ebp - 0x1c34], edx
mov eax, 0xc
shl eax, 2
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1c38], edx
mov eax, dword [ebp - 0x1c38]
mov dword [ebp - 0x1c3c], eax
mov ecx, dword [ebp - 0x1c3c]
mov dword [ebp - 0x1c40], ecx
mov edx, dword [ebp - 0x1c40]
mov dword [ebp - 0x1c44], edx
mov ecx, dword [ebp - 0x1958]
call dword [ebp - 0x1c44]
fstp dword [ebp - 0x1c48]
vmovss xmm0, dword [ebp - 0x1c48]
vmovss dword [ebp - 0x1c4c], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1c50], xmm0
xor eax, eax
mov byte [ebp - 0x18d9], al
movzx ecx, byte [ebp - 0x18d9]
push ecx
lea edx, [ebp - 0x1c4c]
push edx
lea eax, [ebp - 0x1c50]
push eax
lea ecx, [ebp - 0x1820]
push ecx
call fcn.1005a750
add esp, 0x10
mov dword [ebp - 0x1c54], eax
mov edx, dword [ebp - 0x1c54]
vmovss xmm0, dword [edx]
vmovss dword [ebp - 0x1820], xmm0
mov eax, dword [0x108a1c74]
mov ecx, dword [ebp - 0x1c58]
vmovss xmm0, dword [eax + 0x10]
vsubss xmm0, xmm0, dword [ecx + 0x24]
vmovss xmm1, dword [ebp - 0x1820]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x1c5c], xmm0
vcvtss2sd xmm0, xmm0, dword [ebp - 0x1c5c]
sub esp, 8
vmovsd qword [esp], xmm0
call dword [sym.imp.ucrtbased.dll_fabs]
add esp, 8
fstp dword [ebp - 0x1c60]
vmovss xmm0, dword [ebp - 0x1c60]
vmovss dword [ebp - 0x1c64], xmm0
vmovss xmm0, dword [ebp - 0x1c64]
vcomiss xmm0, dword [0x10547408]
jbe 0x101c2130
mov byte [ebp - 0x18bd], 0
jmp 0x101c2137
mov byte [ebp - 0x18bd], 1
movzx edx, byte [ebp - 0x18bd]
test edx, edx
je 0x101c27e2
lea eax, [ebp - 0x1830]
push eax
lea ecx, [ebp - 0x1878]
call fcn.100716b0
push 1
lea ecx, [ebp - 0x1878]
call fcn.10074690
nop
lea ecx, [ebp - 0x1878]
push ecx
lea ecx, [ebp - 0x1f04]
call fcn.10073720
lea ecx, [ebp - 0x1878]
call fcn.10071630
lea edx, [ebp - 0x1f04]
mov dword [ebp - 0x1c68], edx
mov eax, dword [ebp - 0x1c68]
mov dword [ebp - 0x1c6c], eax
mov ecx, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1c70], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x18b8]
or edx, 1
mov dword [ebp - 0x18b8], edx
mov eax, dword [ebp - 0x1c70]
mov dword [ebp - 0x195c], eax
mov ecx, dword [ebp - 0x18e0]
mov dword [ebp - 0x1c74], ecx
lea edx, [ebp - 0x1f2c]
push edx
mov ecx, dword [ebp - 0x1c74]
call fcn.10073280
mov dword [ebp - 0x1c78], eax
mov eax, dword [ebp - 0x1c78]
mov dword [ebp - 0x1c7c], eax
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x18b8]
or ecx, 2
mov dword [ebp - 0x18b8], ecx
mov edx, dword [ebp - 0x1c7c]
mov dword [ebp - 0x1960], edx
mov eax, dword [ebp - 0x1960]
push eax
mov ecx, dword [ebp - 0x195c]
call fcn.100745d0
mov ecx, dword [ebp - 0x195c]
mov edx, dword [ebp - 0x1960]
mov eax, dword [ecx + 8]
cmp eax, dword [edx + 8]
jne 0x101c224a
mov dword [ebp - 0x19cc], 1
jmp 0x101c2254
mov dword [ebp - 0x19cc], 0
mov cl, byte [ebp - 0x19cc]
mov byte [ebp - 0x18cc], cl
movzx edx, byte [ebp - 0x18cc]
test edx, edx
jne 0x101c2277
mov dword [ebp - 0x1968], 1
jmp 0x101c2281
mov dword [ebp - 0x1968], 0
mov al, byte [ebp - 0x1968]
mov byte [ebp - 0x18e1], al
movzx ecx, byte [ebp - 0x18e1]
test ecx, ecx
je 0x101c27e2
lea edx, [ebp - 0x1830]
push edx
lea ecx, [ebp - 0x18a8]
call fcn.100716b0
push 1
lea ecx, [ebp - 0x18a8]
call fcn.10074690
nop
lea eax, [ebp - 0x18a8]
push eax
lea ecx, [ebp - 0x1ef8]
call fcn.10073720
lea ecx, [ebp - 0x18a8]
call fcn.10071630
lea ecx, [ebp - 0x1ef8]
mov dword [ebp - 0x1c80], ecx
mov edx, dword [ebp - 0x1c80]
mov dword [ebp - 0x1c84], edx
mov eax, dword [ebp - 0x1c84]
mov dword [ebp - 0x1c88], eax
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x18b8]
or ecx, 4
mov dword [ebp - 0x18b8], ecx
mov ecx, dword [ebp - 0x1c88]
call fcn.100747c0
mov dword [ebp - 0x1c8c], eax
mov edx, dword [ebp - 0x1c8c]
mov dword [ebp - 0x1c90], edx
mov eax, dword [ebp - 0x1c90]
mov dword [ebp - 0x1c94], eax
mov ecx, dword [ebp - 0x1c94]
mov dword [ebp - 0x1c98], ecx
mov edx, dword [ebp - 0x1c98]
mov eax, dword [edx]
mov dword [ebp - 0x1d30], eax
mov ecx, dword [0x108a1c14]
mov dword [ebp - 0x1970], ecx
lea edx, [ebp - 0x1ca0]
mov dword [ebp - 0x196c], edx
mov eax, dword [ebp - 0x196c]
mov ecx, dword [ebp - 0x1970]
mov dword [eax], ecx
mov edx, dword [ebp - 0x196c]
mov dword [ebp - 0x1c9c], edx
mov eax, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1ea4], eax
mov ecx, dword [ebp - 0x1ca0]
mov edx, dword [ecx]
mov dword [ebp - 0x1ca4], edx
mov eax, 0x4e
shl eax, 2
mov ecx, dword [ebp - 0x1ca4]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1ca8], edx
mov eax, dword [ebp - 0x1ca8]
mov dword [ebp - 0x1cac], eax
mov ecx, dword [ebp - 0x1cac]
mov dword [ebp - 0x1cb0], ecx
mov edx, dword [ebp - 0x1cb0]
mov dword [ebp - 0x1cb4], edx
mov ecx, dword [ebp - 0x1970]
call dword [ebp - 0x1cb4]
mov dword [ebp - 0x1cb8], eax
mov eax, dword [ebp - 0x1cb8]
mov dword [ebp - 0x18f8], eax
cmp dword [ebp - 0x18f8], 0
jne 0x101c2410
mov byte [ebp - 0x18be], 0
jmp 0x101c2706
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x181c], xmm0
lea ecx, [ebp - 0x1cc0]
mov dword [ebp - 0x1974], ecx
mov edx, dword [ebp - 0x1974]
mov eax, dword [ebp - 0x18f8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1cbc], ecx
mov edx, dword [ebp - 0x1cbc]
mov dword [ebp - 0x1ea8], edx
mov eax, dword [ebp - 0x1cc0]
mov ecx, dword [eax]
mov dword [ebp - 0x1cc4], ecx
mov edx, 9
shl edx, 2
mov eax, dword [ebp - 0x1cc4]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1cc8], ecx
mov edx, dword [ebp - 0x1cc8]
mov dword [ebp - 0x1ccc], edx
mov eax, dword [ebp - 0x1ccc]
mov dword [ebp - 0x1cd0], eax
mov ecx, dword [ebp - 0x1cd0]
mov dword [ebp - 0x1cd4], ecx
push 0
mov ecx, dword [ebp - 0x18f8]
call dword [ebp - 0x1cd4]
fstp dword [ebp - 0x1cf4]
lea edx, [ebp - 0x1cdc]
mov dword [ebp - 0x1978], edx
mov eax, dword [ebp - 0x1978]
mov ecx, dword [ebp - 0x18f8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1978]
mov dword [ebp - 0x1cd8], edx
mov eax, dword [ebp - 0x1cd8]
mov dword [ebp - 0x1eac], eax
mov ecx, dword [ebp - 0x1cdc]
mov edx, dword [ecx]
mov dword [ebp - 0x1ce0], edx
mov eax, 9
shl eax, 2
mov ecx, dword [ebp - 0x1ce0]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1ce4], edx
mov eax, dword [ebp - 0x1ce4]
mov dword [ebp - 0x1ce8], eax
mov ecx, dword [ebp - 0x1ce8]
mov dword [ebp - 0x1cec], ecx
mov edx, dword [ebp - 0x1cec]
mov dword [ebp - 0x1cf0], edx
push 1
mov ecx, dword [ebp - 0x18f8]
call dword [ebp - 0x1cf0]
fstp dword [ebp - 0x1cf8]
vmovss xmm0, dword [ebp - 0x1cf4]
vaddss xmm0, xmm0, dword [ebp - 0x1cf8]
vmovss dword [ebp - 0x1d00], xmm0
vmovss xmm0, dword [ebp - 0x181c]
vmovss dword [ebp - 0x1cfc], xmm0
vmovss xmm0, dword [ebp - 0x1cfc]
vaddss xmm0, xmm0, dword [ebp - 0x1d00]
vmovss dword [ebp - 0x181c], xmm0
vmovss xmm0, dword [ebp - 0x181c]
vaddss xmm0, xmm0, dword [0x1078c2a4]
vmovss dword [ebp - 0x181c], xmm0
mov eax, dword [0x108a1cd8]
mov dword [ebp - 0x1980], eax
lea ecx, [ebp - 0x1d08]
mov dword [ebp - 0x19a4], ecx
mov edx, dword [ebp - 0x19a4]
mov eax, dword [ebp - 0x1980]
mov dword [edx], eax
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x1d04], ecx
mov edx, dword [ebp - 0x1d04]
mov dword [ebp - 0x1eb0], edx
mov eax, dword [ebp - 0x1d08]
mov ecx, dword [eax]
mov dword [ebp - 0x1d0c], ecx
mov edx, 0xc
shl edx, 2
mov eax, dword [ebp - 0x1d0c]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1d10], ecx
mov edx, dword [ebp - 0x1d10]
mov dword [ebp - 0x1d14], edx
mov eax, dword [ebp - 0x1d14]
mov dword [ebp - 0x1d18], eax
mov ecx, dword [ebp - 0x1d18]
mov dword [ebp - 0x1d1c], ecx
mov ecx, dword [ebp - 0x1980]
call dword [ebp - 0x1d1c]
fstp dword [ebp - 0x1d20]
vmovss xmm0, dword [ebp - 0x1d20]
vmovss dword [ebp - 0x1d24], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1dfc], xmm0
xor edx, edx
mov byte [ebp - 0x18cd], dl
movzx eax, byte [ebp - 0x18cd]
push eax
lea ecx, [ebp - 0x1d24]
push ecx
lea edx, [ebp - 0x1dfc]
push edx
lea eax, [ebp - 0x181c]
push eax
call fcn.1005a750
add esp, 0x10
mov dword [ebp - 0x1d2c], eax
mov ecx, dword [ebp - 0x1d2c]
vmovss xmm0, dword [ecx]
vmovss dword [ebp - 0x181c], xmm0
mov edx, dword [0x108a1c74]
mov eax, dword [ebp - 0x1d30]
vmovss xmm0, dword [edx + 0x10]
vsubss xmm0, xmm0, dword [eax + 0x24]
vmovss xmm1, dword [ebp - 0x181c]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x1d34], xmm0
vcvtss2sd xmm0, xmm0, dword [ebp - 0x1d34]
sub esp, 8
vmovsd qword [esp], xmm0
call dword [sym.imp.ucrtbased.dll_fabs]
add esp, 8
fstp dword [ebp - 0x1d38]
vmovss xmm0, dword [ebp - 0x1d38]
vmovss dword [ebp - 0x1d3c], xmm0
vmovss xmm0, dword [ebp - 0x1d3c]
vcomiss xmm0, dword [0x10547408]
jbe 0x101c26ff
mov byte [ebp - 0x18be], 0
jmp 0x101c2706
mov byte [ebp - 0x18be], 1
movzx ecx, byte [ebp - 0x18be]
test ecx, ecx
jne 0x101c27e2
lea edx, [ebp - 0x1830]
push edx
lea ecx, [ebp - 0x189c]
call fcn.100716b0
push 1
lea ecx, [ebp - 0x189c]
call fcn.10074690
nop
lea eax, [ebp - 0x189c]
push eax
lea ecx, [ebp - 0x1eec]
call fcn.10073720
lea ecx, [ebp - 0x189c]
call fcn.10071630
lea ecx, [ebp - 0x1eec]
mov dword [ebp - 0x1d40], ecx
mov edx, dword [ebp - 0x1d40]
mov dword [ebp - 0x1d44], edx
mov eax, dword [ebp - 0x18b8]
or eax, 8
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x1d44]
call fcn.100747c0
mov dword [ebp - 0x1d48], eax
mov ecx, dword [ebp - 0x1d48]
mov dword [ebp - 0x1d4c], ecx
mov edx, dword [ebp - 0x1d4c]
mov dword [ebp - 0x1d50], edx
mov eax, dword [ebp - 0x1d50]
mov dword [ebp - 0x1d54], eax
mov ecx, dword [ebp - 0x1d54]
mov edx, dword [ecx]
mov dword [ebp - 0x1d58], edx
mov eax, dword [ebp - 0x1d58]
mov cl, byte [eax + 0x14]
mov byte [ebp - 0x18ce], cl
movzx edx, byte [ebp - 0x18ce]
test edx, edx
jne 0x101c27e2
mov dword [ebp - 0x1984], 1
jmp 0x101c27ec
mov dword [ebp - 0x1984], 0
mov al, byte [ebp - 0x1984]
mov byte [ebp - 0x18cf], al
mov ecx, dword [ebp - 0x18b8]
and ecx, 8
je 0x101c2830
and dword [ebp - 0x18b8], 0xfffffff7
push 3
lea ecx, [ebp - 0x186c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1eec]
call fcn.1003faf0
lea ecx, [ebp - 0x186c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x18b8]
and edx, 4
je 0x101c286f
and dword [ebp - 0x18b8], 0xfffffffb
push 3
lea ecx, [ebp - 0x1864]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1ef8]
call fcn.1003faf0
lea ecx, [ebp - 0x1864]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x18b8]
and eax, 2
je 0x101c28ae
and dword [ebp - 0x18b8], 0xfffffffd
push 3
lea ecx, [ebp - 0x1860]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1f2c]
call fcn.1003faf0
lea ecx, [ebp - 0x1860]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x18b8]
and ecx, 1
je 0x101c28ed
and dword [ebp - 0x18b8], 0xfffffffe
push 3
lea ecx, [ebp - 0x185c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1f04]
call fcn.1003faf0
lea ecx, [ebp - 0x185c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
movzx edx, byte [ebp - 0x18cf]
test edx, edx
je 0x101c2a16
lea eax, [ebp - 0x1830]
push eax
lea ecx, [ebp - 0x1890]
call fcn.100716f0
nop
push 1
lea ecx, [ebp - 0x1890]
call fcn.10074690
nop
lea ecx, [ebp - 0x1890]
push ecx
lea ecx, [ebp - 0x1f10]
call fcn.10073720
lea ecx, [ebp - 0x1890]
call fcn.10071630
lea edx, [ebp - 0x1f10]
mov dword [ebp - 0x1d6c], edx
mov eax, dword [ebp - 0x1d6c]
mov dword [ebp - 0x1d70], eax
mov ecx, dword [ebp - 0x1d70]
call fcn.100747c0
mov dword [ebp - 0x1d74], eax
mov ecx, dword [ebp - 0x1d74]
mov dword [ebp - 0x1d78], ecx
mov edx, dword [ebp - 0x1d78]
mov dword [ebp - 0x1d7c], edx
mov eax, dword [ebp - 0x1d7c]
mov dword [ebp - 0x1d80], eax
mov ecx, dword [ebp - 0x1d80]
mov edx, dword [ecx]
mov dword [ebp - 0x1d84], edx
mov eax, dword [ebp - 0x1d84]
mov dword [ebp - 0x18ac], eax
push 3
lea ecx, [ebp - 0x1858]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1f10]
call fcn.1003faf0
lea ecx, [ebp - 0x1858]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
nop
lea ecx, [ebp - 0x1830]
call fcn.100747c0
mov dword [ebp - 0x1d8c], eax
mov ecx, dword [ebp - 0x1d8c]
mov dword [ebp - 0x1d90], ecx
mov edx, dword [ebp - 0x1d90]
mov dword [ebp - 0x1d94], edx
mov eax, dword [ebp - 0x1d94]
mov dword [ebp - 0x1d98], eax
mov ecx, dword [ebp - 0x1d98]
mov edx, dword [ecx]
mov dword [ebp - 0x1d9c], edx
mov eax, dword [ebp - 0x1d9c]
mov dword [ebp - 0x18b0], eax
cmp dword [ebp - 0x18ac], 0
je 0x101c2a28
cmp dword [ebp - 0x18b0], 0
jne 0x101c2a2d
jmp 0x101c1cb3
lea ecx, [ebp - 0x18ac]
mov dword [ebp - 0x18c4], ecx
lea edx, [ebp - 0x18b0]
mov dword [ebp - 0x18d8], edx
mov eax, dword [ebp - 0x18d8]
cmp dword [eax], 0
je 0x101c2a5b
mov ecx, dword [ebp - 0x18c4]
cmp dword [ecx], 0
jne 0x101c2a60
jmp 0x101c1cb3
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx]
add eax, 0x34
mov ecx, dword [eax]
mov dword [ebp - 0x1854], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1850], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x184c], eax
mov ecx, dword [0x108a1c74]
vmovss xmm0, dword [ecx + 0x10]
vmovss dword [ebp - 0x1928], xmm0
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx]
vmovss xmm0, dword [ebp - 0x1928]
vsubss xmm0, xmm0, dword [eax + 0x4074]
mov ecx, dword [ebp - 0x18d8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x18c4]
mov ecx, dword [eax]
vmovss xmm1, dword [edx + 0x24]
vsubss xmm1, xmm1, dword [ecx + 0x24]
vdivss xmm0, xmm0, xmm1
vmovss xmm1, dword [0x105474ac]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x1824], xmm0
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, dword [ebp - 0x1824]
ja 0x101c2b02
vmovss xmm0, dword [ebp - 0x1824]
vcomiss xmm0, dword [0x105474ac]
jbe 0x101c2b1a
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx]
vmovss xmm0, dword [ebp - 0x1928]
vmovss dword [eax + 0x4074], xmm0
mov ecx, dword [ebp - 0x18d8]
mov edx, dword [ecx]
vmovss xmm0, dword [ebp - 0x1928]
vsubss xmm0, xmm0, dword [edx + 0x4074]
mov eax, dword [ebp - 0x18d8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x18c4]
mov eax, dword [edx]
vmovss xmm1, dword [ecx + 0x24]
vsubss xmm1, xmm1, dword [eax + 0x24]
vdivss xmm0, xmm0, xmm1
vmovss xmm1, dword [0x105474ac]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x1824], xmm0
vmovss xmm0, dword [0x105474ac]
vmovss dword [ebp - 0x1da0], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1da4], xmm0
xor ecx, ecx
mov byte [ebp - 0x18d0], cl
movzx edx, byte [ebp - 0x18d0]
push edx
lea eax, [ebp - 0x1da0]
push eax
lea ecx, [ebp - 0x1da4]
push ecx
lea edx, [ebp - 0x1824]
push edx
call fcn.1005a750
add esp, 0x10
mov dword [ebp - 0x1da8], eax
mov eax, dword [ebp - 0x1da8]
vmovss xmm0, dword [eax]
vmovss dword [ebp - 0x1dac], xmm0
mov ecx, dword [ebp - 0x18c4]
mov edx, dword [ecx]
add edx, 0x34
mov eax, dword [edx]
mov dword [ebp - 0x1e48], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x1e44], ecx
mov edx, dword [edx + 8]
mov dword [ebp - 0x1e40], edx
mov eax, dword [ebp - 0x1854]
mov dword [ebp - 0x1e58], eax
mov ecx, dword [ebp - 0x1850]
mov dword [ebp - 0x1e54], ecx
mov edx, dword [ebp - 0x184c]
mov dword [ebp - 0x1e50], edx
push ecx
vmovss xmm0, dword [ebp - 0x1dac]
vmovss dword [esp], xmm0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1e48]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1e44]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1e40]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x1e58]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1e54]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1e50]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x1884]
push ecx
call fcn.102524b0
add esp, 0x20
lea edx, [ebp - 0x1db4]
mov dword [ebp - 0x1988], edx
mov eax, dword [ebp - 0x1988]
mov ecx, dword [ebp - 0x18bc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1988]
mov dword [ebp - 0x1db0], edx
mov eax, dword [ebp - 0x1db0]
mov dword [ebp - 0x1eb4], eax
mov ecx, dword [ebp - 0x1db4]
mov edx, dword [ecx]
mov dword [ebp - 0x1db8], edx
mov eax, 0xa
shl eax, 2
mov ecx, dword [ebp - 0x1db8]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1dbc], edx
mov eax, dword [ebp - 0x1dbc]
mov dword [ebp - 0x1dc0], eax
mov ecx, dword [ebp - 0x1dc0]
mov dword [ebp - 0x1dc4], ecx
mov edx, dword [ebp - 0x1dc4]
mov dword [ebp - 0x1dc8], edx
mov ecx, dword [ebp - 0x18bc]
call dword [ebp - 0x1dc8]
mov dword [ebp - 0x1dcc], eax
mov eax, dword [ebp - 0x1dcc]
mov dword [ebp - 0x1924], eax
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x183c], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1838], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1834], xmm0
mov ecx, dword [ebp - 0x1924]
vmovss xmm0, dword [ebp - 0x1884]
vsubss xmm0, xmm0, dword [ecx]
vmovss dword [ebp - 0x183c], xmm0
mov edx, dword [ebp - 0x1924]
vmovss xmm0, dword [ebp - 0x1880]
vsubss xmm0, xmm0, dword [edx + 4]
vmovss dword [ebp - 0x1838], xmm0
mov eax, dword [ebp - 0x1924]
vmovss xmm0, dword [ebp - 0x187c]
vsubss xmm0, xmm0, dword [eax + 8]
vmovss dword [ebp - 0x1834], xmm0
vmovss xmm0, dword [ebp - 0x183c]
vmulss xmm0, xmm0, dword [ebp - 0x183c]
vmovss xmm1, dword [ebp - 0x1838]
vmulss xmm1, xmm1, dword [ebp - 0x1838]
vaddss xmm0, xmm0, xmm1
vmovss dword [ebp - 0x1dd0], xmm0
vmovss xmm0, dword [ebp - 0x1dd0]
vcvtss2sd xmm0, xmm0, xmm0
sub esp, 8
vmovsd qword [esp], xmm0
call dword [sym.imp.ucrtbased.dll_sqrt]
add esp, 8
fstp dword [ebp - 0x1dd4]
vmovss xmm0, dword [ebp - 0x1dd4]
vmovss dword [ebp - 0x1dd8], xmm0
vmovss xmm0, dword [ebp - 0x1dd8]
vmovss dword [ebp - 0x1ddc], xmm0
vmovss xmm0, dword [ebp - 0x1ddc]
vmovss dword [ebp - 0x1de0], xmm0
vmovss xmm0, dword [ebp - 0x1de0]
vmovss dword [ebp - 0x198c], xmm0
vmovss xmm0, dword [0x105475bc]
vcomiss xmm0, dword [ebp - 0x198c]
jb 0x101c2e8f
vmovss xmm0, dword [0x105474ac]
vmovss dword [ebp - 0x1de4], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1de8], xmm0
vmovss xmm0, dword [ebp - 0x198c]
vdivss xmm0, xmm0, dword [0x105475bc]
vmovss dword [ebp - 0x1dec], xmm0
xor ecx, ecx
mov byte [ebp - 0x18d1], cl
movzx edx, byte [ebp - 0x18d1]
push edx
lea eax, [ebp - 0x1de4]
push eax
lea ecx, [ebp - 0x1de8]
push ecx
lea edx, [ebp - 0x1dec]
push edx
call fcn.1005a750
add esp, 0x10
mov dword [ebp - 0x1df4], eax
mov eax, dword [ebp - 0x1df0]
mov ecx, dword [ebp - 0x1df4]
mov edx, dword [ecx]
mov dword [eax + 0x14], edx
mov dword [ebp - 0x1934], 0x80
lea eax, [ebp - 0x1818]
mov dword [ebp - 0x191c], eax
mov ecx, dword [ebp - 0x1934]
mov dword [ebp - 0x1df8], ecx
mov edx, dword [ebp - 0x1934]
sub edx, 1
mov dword [ebp - 0x1934], edx
cmp dword [ebp - 0x1df8], 0
jbe 0x101c2ef0
mov dword [ebp - 0x1e74], 0x10041740
mov ecx, dword [ebp - 0x191c]
call dword [ebp - 0x1e74]
mov eax, dword [ebp - 0x191c]
add eax, 0x30
mov dword [ebp - 0x191c], eax
jmp 0x101c2ea5
push 0x1800
mov ecx, dword [ebp - 0x18c4]
mov edx, dword [ecx]
add edx, 0x410
push edx
lea eax, [ebp - 0x1818]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov dword [ebp - 0x18fc], 0
jmp 0x101c2f2f
mov ecx, dword [ebp - 0x18fc]
add ecx, 1
mov dword [ebp - 0x18fc], ecx
cmp dword [ebp - 0x18fc], 0x80
jae 0x101c31ca
mov edx, dword [ebp - 0x18c4]
mov eax, dword [edx]
imul ecx, dword [ebp - 0x18fc], 0x30
lea edx, [eax + ecx + 0x410]
mov dword [ebp - 0x1918], edx
mov eax, 4
imul ecx, eax, 3
mov edx, 0x10
imul eax, edx, 0
add eax, dword [ebp - 0x1918]
vmovss xmm0, dword [eax + ecx]
vmovss dword [ebp - 0x1e00], xmm0
mov ecx, 4
imul edx, ecx, 3
mov eax, 0x10
shl eax, 0
add eax, dword [ebp - 0x1918]
vmovss xmm0, dword [eax + edx]
vmovss dword [ebp - 0x1e04], xmm0
mov ecx, 4
imul edx, ecx, 3
mov eax, 0x10
shl eax, 1
add eax, dword [ebp - 0x1918]
vmovss xmm0, dword [eax + edx]
vmovss dword [ebp - 0x1e08], xmm0
vmovss xmm0, dword [ebp - 0x1e00]
vmovss dword [ebp - 0x1e80], xmm0
vmovss xmm0, dword [ebp - 0x1e04]
vmovss dword [ebp - 0x1e7c], xmm0
vmovss xmm0, dword [ebp - 0x1e08]
vmovss dword [ebp - 0x1e78], xmm0
lea ecx, [ebp - 0x1e80]
mov dword [ebp - 0x1e0c], ecx
mov edx, dword [ebp - 0x1e0c]
mov dword [ebp - 0x1914], edx
mov eax, dword [ebp - 0x18c4]
mov ecx, dword [eax]
add ecx, 0x34
mov dword [ebp - 0x1908], ecx
mov edx, dword [ebp - 0x1914]
mov eax, dword [ebp - 0x1908]
vmovss xmm0, dword [edx]
vsubss xmm0, xmm0, dword [eax]
vmovss dword [ebp - 0x1e10], xmm0
mov ecx, dword [ebp - 0x1914]
mov edx, dword [ebp - 0x1908]
vmovss xmm0, dword [ecx + 4]
vsubss xmm0, xmm0, dword [edx + 4]
vmovss dword [ebp - 0x1e14], xmm0
mov eax, dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1908]
vmovss xmm0, dword [eax + 8]
vsubss xmm0, xmm0, dword [ecx + 8]
vmovss dword [ebp - 0x1e18], xmm0
vmovss xmm0, dword [ebp - 0x1e10]
vmovss dword [ebp - 0x1848], xmm0
vmovss xmm0, dword [ebp - 0x1e14]
vmovss dword [ebp - 0x1844], xmm0
vmovss xmm0, dword [ebp - 0x1e18]
vmovss dword [ebp - 0x1840], xmm0
imul edx, dword [ebp - 0x18fc], 0x30
lea eax, [ebp + edx - 0x1818]
mov dword [ebp - 0x1920], eax
mov ecx, dword [ebp - 0x18c4]
mov edx, dword [ecx]
add edx, 0x34
mov dword [ebp - 0x1910], edx
mov eax, dword [ebp - 0x1910]
vmovss xmm0, dword [ebp - 0x1848]
vaddss xmm0, xmm0, dword [eax]
vmovss dword [ebp - 0x1e1c], xmm0
mov ecx, dword [ebp - 0x1910]
vmovss xmm0, dword [ebp - 0x1844]
vaddss xmm0, xmm0, dword [ecx + 4]
vmovss dword [ebp - 0x1e20], xmm0
mov edx, dword [ebp - 0x1910]
vmovss xmm0, dword [ebp - 0x1840]
vaddss xmm0, xmm0, dword [edx + 8]
vmovss dword [ebp - 0x1e24], xmm0
vmovss xmm0, dword [ebp - 0x1e1c]
vmovss dword [ebp - 0x1e8c], xmm0
vmovss xmm0, dword [ebp - 0x1e20]
vmovss dword [ebp - 0x1e88], xmm0
vmovss xmm0, dword [ebp - 0x1e24]
vmovss dword [ebp - 0x1e84], xmm0
lea eax, [ebp - 0x1e8c]
mov dword [ebp - 0x1e28], eax
mov ecx, dword [ebp - 0x1e28]
mov dword [ebp - 0x190c], ecx
mov edx, 0x10
imul eax, edx, 0
add eax, dword [ebp - 0x1920]
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp - 0x190c]
mov ecx, dword [ecx]
mov dword [eax + edx], ecx
mov edx, 0x10
shl edx, 0
add edx, dword [ebp - 0x1920]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 0x190c]
mov eax, dword [eax + 4]
mov dword [edx + ecx], eax
mov ecx, 0x10
shl ecx, 1
add ecx, dword [ebp - 0x1920]
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp - 0x190c]
mov edx, dword [edx + 8]
mov dword [ecx + eax], edx
jmp 0x101c2f20
push 0x1800
lea eax, [ebp - 0x1818]
push eax
mov ecx, dword [ebx + 0xc]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov byte [ebp - 0x18d2], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1830]
call fcn.10071630
mov al, byte [ebp - 0x18d2]
jmp 0x101c321e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1830]
call fcn.10071630
nop
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101906c0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8