Function at 0x100fb525
Capabilities:
Hash data using fnv

Disassembly:
jmp 0x10160280
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 0x102dbefc
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1de8
call fcn.100f8032
mov eax, dword [0x1032b034]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c98], 0
mov ecx, 0x103c53c8
call fcn.100fa157
mov eax, dword [0x103a585c]
mov dword [ebp - 0x1890], eax
lea ecx, [ebp - 0x1cac]
mov dword [ebp - 0x188c], ecx
mov edx, dword [ebp - 0x188c]
mov eax, dword [ebp - 0x1890]
mov dword [edx], eax
mov ecx, dword [ebp - 0x188c]
mov dword [ebp - 0x1dd0], ecx
mov edx, dword [ebp - 0x1cac]
mov eax, dword [edx]
mov dword [ebp - 0x1ca8], eax
mov ecx, 3
shl ecx, 2
mov edx, dword [ebp - 0x1ca8]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1ca4], eax
mov ecx, dword [ebp - 0x1ca4]
mov dword [ebp - 0x1dd4], ecx
mov edx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], edx
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [ebp - 0x1890]
call dword [ebp - 0x1dd8]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x1016036a
xor al, al
jmp 0x10161956
cmp dword [ebp - 0x24], 0
jne 0x1016037c
mov byte [ebp - 0x1c9d], 0
jmp 0x10160641
lea eax, [ebp - 0x1cd4]
mov dword [ebp - 0x18a4], eax
mov ecx, dword [ebp - 0x18a4]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov eax, dword [ebp - 0x18a4]
mov dword [ebp - 0x1dd0], eax
mov ecx, dword [ebp - 0x1cd4]
mov edx, dword [ecx]
mov dword [ebp - 0x1cd0], edx
mov eax, 0x98
shl eax, 2
mov ecx, dword [ebp - 0x1cd0]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1ccc], edx
mov eax, dword [ebp - 0x1ccc]
mov dword [ebp - 0x1dd4], eax
mov ecx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], ecx
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x1dd8]
movzx edx, al
test edx, edx
jne 0x101603f8
mov byte [ebp - 0x1c9d], 0
jmp 0x10160641
mov eax, dword [0x103b53fc]
sub eax, 0x34
xor eax, 0xd81e9547
mov dword [ebp - 0x1cc8], eax
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x1cc8]
cmp dword [ecx], 0
jne 0x10160425
mov dword [ebp - 0x1ddc], 1
jmp 0x1016042f
mov dword [ebp - 0x1ddc], 0
movzx edx, byte [ebp - 0x1ddc]
test edx, edx
jne 0x10160446
mov byte [ebp - 0x1c9d], 0
jmp 0x10160641
mov eax, dword [ebp - 0x24]
add eax, dword [0x103a59e4]
mov cl, byte [eax]
mov byte [ebp - 0x1c9e], cl
movzx edx, byte [ebp - 0x1c9e]
test edx, edx
je 0x1016046e
mov byte [ebp - 0x1c9d], 0
jmp 0x10160641
lea eax, [ebp - 0x1ce8]
mov dword [ebp - 0x1894], eax
mov ecx, dword [ebp - 0x24]
add ecx, 8
mov edx, dword [ebp - 0x1894]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1894]
mov dword [ebp - 0x1de0], eax
mov ecx, dword [ebp - 0x1ce8]
mov edx, dword [ecx]
mov dword [ebp - 0x1ce4], edx
mov eax, 9
shl eax, 2
mov ecx, dword [ebp - 0x1ce4]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1ce0], edx
mov eax, dword [ebp - 0x1ce0]
mov dword [ebp - 0x1de4], eax
mov ecx, dword [ebp - 0x1de4]
mov dword [ebp - 0x1de8], ecx
mov edx, dword [ebp - 0x24]
add edx, 8
mov dword [ebp - 0x1dec], edx
mov ecx, dword [ebp - 0x1dec]
call dword [ebp - 0x1de8]
movzx eax, al
test eax, eax
je 0x101604fc
mov byte [ebp - 0x1c9d], 0
jmp 0x10160641
mov ecx, dword [0x103b543c]
sub ecx, 0x44
xor ecx, 0xd81e9557
mov dword [ebp - 0x1cdc], ecx
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x1cdc]
movss xmm0, dword [edx]
ucomiss xmm0, dword [0x102f87f4]
lahf
test ah, 0x44
jnp 0x10160537
mov byte [ebp - 0x1c9d], 0
jmp 0x10160641
mov eax, dword [0x103a30e8]
mov dword [ebp - 0x1898], eax
mov ecx, dword [0x103b53d4]
sub ecx, 0x2a
xor ecx, 0xd81e953d
mov dword [ebp - 0x1cec], ecx
mov edx, dword [0x103b53d4]
sub edx, 0x2a
xor edx, 0xd81e953d
mov dword [ebp - 0x1cf0], edx
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x1cec]
mov ecx, dword [ebp - 0x1898]
add ecx, dword [ebp - 0x1cf0]
mov edx, dword [eax]
cmp edx, dword [ecx]
je 0x10160598
mov byte [ebp - 0x1cd5], 1
jmp 0x10160626
mov eax, dword [0x103a592c]
mov dword [ebp - 0x18a0], eax
lea ecx, [ebp - 0x1d08]
mov dword [ebp - 0x189c], ecx
mov edx, dword [ebp - 0x189c]
mov eax, dword [ebp - 0x18a0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x189c]
mov dword [ebp - 0x1df0], ecx
mov edx, dword [ebp - 0x1d08]
mov eax, dword [edx]
mov dword [ebp - 0x1d04], eax
mov ecx, 0xd
shl ecx, 2
mov edx, dword [ebp - 0x1d04]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1d00], eax
mov ecx, dword [ebp - 0x1d00]
mov dword [ebp - 0x1df4], ecx
mov edx, dword [ebp - 0x1df4]
mov dword [ebp - 0x1df8], edx
mov ecx, dword [ebp - 0x18a0]
call dword [ebp - 0x1df8]
test eax, eax
je 0x1016061f
mov byte [ebp - 0x1cd5], 1
jmp 0x10160626
mov byte [ebp - 0x1cd5], 0
movzx eax, byte [ebp - 0x1cd5]
test eax, eax
jne 0x1016063a
mov byte [ebp - 0x1c9d], 0
jmp 0x10160641
mov byte [ebp - 0x1c9d], 1
movzx ecx, byte [ebp - 0x1c9d]
test ecx, ecx
jne 0x10160653
xor al, al
jmp 0x10161956
mov eax, dword [ebx + 8]
sub eax, 1
push eax
mov ecx, 0x1032be1c
call fcn.100f82b2
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x101606cc
mov eax, dword [ebp - 0x20]
add eax, 8
mov dword [ebp - 0x1d10], eax
mov ecx, dword [ebp - 0x1d10]
mov dword [ebp - 0x1d0c], ecx
mov edx, dword [ebp - 0x1d0c]
add edx, 0x10
mov dword [ebp - 0x1cfc], edx
mov eax, dword [ebp - 0x1cfc]
cmp dword [eax], 0
jne 0x101606ab
mov dword [ebp - 0x1dd0], 1
jmp 0x101606b5
mov dword [ebp - 0x1dd0], 0
mov cl, byte [ebp - 0x1dd0]
mov byte [ebp - 0x1cf5], cl
movzx edx, byte [ebp - 0x1cf5]
test edx, edx
je 0x101606d3
xor al, al
jmp 0x10161956
mov eax, dword [ebp - 0x20]
add eax, 8
mov dword [ebp - 0x1d20], eax
mov ecx, dword [ebp - 0x1d20]
mov dword [ebp - 0x1d1c], ecx
mov edx, dword [ebp - 0x1d1c]
add edx, 0x10
mov dword [ebp - 0x1d18], edx
mov eax, dword [ebp - 0x1d18]
mov ecx, dword [eax]
mov dword [ebp - 0x1d14], ecx
cmp dword [ebp - 0x1d14], 2
jae 0x10160718
xor al, al
jmp 0x10161956
mov eax, dword [0x103a5858]
mov dword [ebp - 0x18a8], eax
lea ecx, [ebp - 0x1d30]
mov dword [ebp - 0x18ac], ecx
mov edx, dword [ebp - 0x18ac]
mov eax, dword [ebp - 0x18a8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x1dd0], ecx
mov edx, dword [ebp - 0x1d30]
mov eax, dword [edx]
mov dword [ebp - 0x1d2c], eax
mov ecx, 0x4e
shl ecx, 2
mov edx, dword [ebp - 0x1d2c]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1d28], eax
mov ecx, dword [ebp - 0x1d28]
mov dword [ebp - 0x1dd4], ecx
mov edx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], edx
mov ecx, dword [ebp - 0x18a8]
call dword [ebp - 0x1dd8]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x101607a2
xor al, al
jmp 0x10161956
mov eax, dword [0x103bfca8]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x103a3068]
cmp eax, dword [edx + 0x104]
jle 0x1016093e
push 0x103a3068
call fcn.100f8ae6
add esp, 4
cmp dword [0x103a3068], 0xffffffff
jne 0x1016093e
xor eax, eax
mov byte [ebp - 0x1bad], al
mov dword [ebp - 0x18b0], 0x8c8dc452
mov dword [ebp - 0x1c38], 0x8c8dc452
mov ecx, dword [0x103a5854]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18b4], edx
cmp dword [ebp - 0x18b4], 0
jne 0x1016081f
mov dword [ebp - 0x1d34], 0
jmp 0x10160926
mov eax, dword [ebp - 0x18b4]
mov dword [ebp - 0x18b8], eax
jmp 0x1016083c
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x18b8], edx
cmp dword [ebp - 0x18b8], 0
je 0x1016091c
mov eax, dword [ebp - 0x18b8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x18bc], ecx
mov dword [ebp - 0x18c0], 0x811c9dc5
mov dword [ebp - 0x18cc], 0
mov edx, dword [ebp - 0x18cc]
add edx, 1
mov dword [ebp - 0x18cc], edx
mov eax, dword [ebp - 0x18bc]
add eax, dword [ebp - 0x18cc]
movsx ecx, byte [eax]
test ecx, ecx
je 0x10160890
jmp 0x1016086c
xor edx, edx
je 0x101608a3
mov eax, dword [ebp - 0x18cc]
add eax, 1
mov dword [ebp - 0x18cc], eax
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x18c4], ecx
mov dword [ebp - 0x18c8], 0
jmp 0x101608ca
mov edx, dword [ebp - 0x18c8]
add edx, 1
mov dword [ebp - 0x18c8], edx
mov eax, dword [ebp - 0x18c8]
cmp eax, dword [ebp - 0x18c4]
jae 0x101608fb
mov ecx, dword [ebp - 0x18bc]
add ecx, dword [ebp - 0x18c8]
movsx edx, byte [ecx]
xor edx, dword [ebp - 0x18c0]
imul eax, edx, 0x1000193
mov dword [ebp - 0x18c0], eax
jmp 0x101608bb
mov ecx, dword [ebp - 0x18c0]
cmp ecx, dword [ebp - 0x1c38]
jne 0x10160917
mov edx, dword [ebp - 0x18b8]
mov dword [ebp - 0x1d34], edx
jmp 0x10160926
jmp 0x1016082d
mov dword [ebp - 0x1d34], 0
mov eax, dword [ebp - 0x1d34]
mov dword [0x103a3064], eax
push 0x103a3068
call fcn.100f949b
add esp, 4
cmp dword [0x103a3064], 0
je 0x101609cb
mov eax, dword [0x103a3064]
mov dword [ebp - 0x18d4], eax
lea ecx, [ebp - 0x1d48]
mov dword [ebp - 0x18d0], ecx
mov edx, dword [ebp - 0x18d0]
mov eax, dword [ebp - 0x18d4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x18d0]
mov dword [ebp - 0x1dd0], ecx
mov edx, dword [ebp - 0x1d48]
mov eax, dword [edx]
mov dword [ebp - 0x1d44], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0x1d44]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1d40], eax
mov ecx, dword [ebp - 0x1d40]
mov dword [ebp - 0x1dd4], ecx
mov edx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], edx
mov ecx, dword [ebp - 0x18d4]
call dword [ebp - 0x1dd8]
fstp dword [0x1032b008]
mov eax, dword [ebp - 0x20]
add eax, 8
mov dword [ebp - 0x1c3c], eax
mov dword [ebp - 4], 0
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1d4c], esp
push ecx
mov ecx, dword [ebp - 0x1c3c]
call fcn.100f9284
lea ecx, [ebp - 0x34]
call fcn.100f8c44
lea edx, [ebp - 0x34]
mov dword [ebp - 0x1d3c], edx
mov dword [ebp - 4], 1
jmp 0x10160a4d
push 0
lea eax, [ebp - 0x1bbc]
push eax
lea ecx, [ebp - 0x34]
call fcn.100f9e7d
mov byte [ebp - 4], 2
push 3
lea ecx, [ebp - 0x18dc]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1bbc]
call fcn.100f840b
lea ecx, [ebp - 0x18dc]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x20]
add eax, 8
mov dword [ebp - 0x1c40], eax
mov byte [ebp - 4], 3
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1d50], esp
push ecx
mov ecx, dword [ebp - 0x1c40]
call fcn.100f8cc6
lea ecx, [ebp - 0x1bcc]
call fcn.100f8c44
lea edx, [ebp - 0x1bcc]
mov dword [ebp - 0x1d54], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1d54]
mov dword [ebp - 0x1cc4], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1cc4]
push ecx
lea edx, [ebp - 0x34]
push edx
call fcn.100f8b04
add esp, 8
movzx eax, al
test eax, eax
jne 0x10160ac5
mov dword [ebp - 0x1dd0], 1
jmp 0x10160acf
mov dword [ebp - 0x1dd0], 0
mov cl, byte [ebp - 0x1dd0]
mov byte [ebp - 0x1bbd], cl
mov byte [ebp - 4], 1
mov byte [ebp - 4], 5
push 3
lea ecx, [ebp - 0x18e4]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1bcc]
call fcn.100f840b
lea ecx, [ebp - 0x18e4]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
movzx edx, byte [ebp - 0x1bbd]
test edx, edx
je 0x1016191d
lea ecx, [ebp - 0x34]
call fcn.100fb421
mov dword [ebp - 0x18e8], eax
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x20]
add eax, 8
mov dword [ebp - 0x1c44], eax
mov byte [ebp - 4], 6
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1d58], esp
push ecx
mov ecx, dword [ebp - 0x1c44]
call fcn.100f8cc6
lea ecx, [ebp - 0x1bd8]
call fcn.100f8c44
lea edx, [ebp - 0x1bd8]
mov dword [ebp - 0x1d5c], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1d5c]
mov dword [ebp - 0x1dd0], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1dd0]
mov dword [ebp - 0x1dd4], ecx
push 1
lea edx, [ebp - 0x1be4]
push edx
lea ecx, [ebp - 0x34]
call fcn.100fa3d2
mov dword [ebp - 0x1dd8], eax
mov eax, dword [ebp - 0x1dd8]
mov dword [ebp - 0x1ddc], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1ddc]
mov dword [ebp - 0x1de0], ecx
mov edx, dword [ebp - 0x1dd4]
push edx
mov eax, dword [ebp - 0x1de0]
push eax
call fcn.100f8b04
add esp, 8
mov byte [ebp - 0x35], al
mov byte [ebp - 4], 7
mov byte [ebp - 4], 9
push 3
lea ecx, [ebp - 0x18f0]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1be4]
call fcn.100f840b
lea ecx, [ebp - 0x18f0]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
mov byte [ebp - 4], 0xa
push 3
lea ecx, [ebp - 0x18f8]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1bd8]
call fcn.100f840b
lea ecx, [ebp - 0x18f8]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax + 0x1bc4]
test ecx, ecx
je 0x10160c93
mov byte [ebp - 0x1be5], 0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0xb
push 3
lea ecx, [ebp - 0x1900]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x34]
call fcn.100f840b
lea ecx, [ebp - 0x1900]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x1be5]
jmp 0x10161956
cmp dword [ebp - 0x1c], 0
je 0x10160d90
mov ecx, dword [ebp - 0x1c]
call fcn.100f8ca3
movzx eax, al
test eax, eax
je 0x10160d90
movzx ecx, byte [ebp - 0x35]
test ecx, ecx
jne 0x10160d90
push 1
lea edx, [ebp - 0x1bf4]
push edx
lea ecx, [ebp - 0x34]
call fcn.100fa3d2
mov dword [ebp - 0x1dd0], eax
mov eax, dword [ebp - 0x1dd0]
mov dword [ebp - 0x1dd4], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x1c98]
or ecx, 1
mov dword [ebp - 0x1c98], ecx
mov ecx, dword [ebp - 0x1dd4]
call fcn.100fb421
mov dword [ebp - 0x1904], eax
mov edx, dword [ebp - 0x1904]
mov eax, dword [edx]
mov dword [ebp - 0x1d60], eax
cmp dword [ebp - 0x1d60], 0
je 0x10160d90
push 1
lea ecx, [ebp - 0x1c00]
push ecx
lea ecx, [ebp - 0x34]
call fcn.100fa3d2
mov dword [ebp - 0x1dd8], eax
mov edx, dword [ebp - 0x1dd8]
mov dword [ebp - 0x1ddc], edx
mov dword [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c98]
or eax, 2
mov dword [ebp - 0x1c98], eax
mov ecx, dword [ebp - 0x1ddc]
call fcn.100fb421
mov dword [ebp - 0x1908], eax
mov ecx, dword [ebp - 0x1908]
mov edx, dword [ecx]
mov dword [ebp - 0x1d68], edx
mov ecx, dword [ebp - 0x1d68]
call fcn.100f8ca3
movzx eax, al
test eax, eax
jne 0x10160d90
mov dword [ebp - 0x1de0], 1
jmp 0x10160d9a
mov dword [ebp - 0x1de0], 0
mov cl, byte [ebp - 0x1de0]
mov byte [ebp - 0x1be6], cl
mov dword [ebp - 4], 0xc
mov edx, dword [ebp - 0x1c98]
and edx, 2
je 0x10160deb
and dword [ebp - 0x1c98], 0xfffffffd
mov dword [ebp - 4], 0xe
push 3
lea ecx, [ebp - 0x1910]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1c00]
call fcn.100f840b
lea ecx, [ebp - 0x1910]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x1c98]
and eax, 1
je 0x10160e31
and dword [ebp - 0x1c98], 0xfffffffe
mov byte [ebp - 4], 0xf
push 3
lea ecx, [ebp - 0x1918]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1bf4]
call fcn.100f840b
lea ecx, [ebp - 0x1918]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
movzx ecx, byte [ebp - 0x1be6]
test ecx, ecx
je 0x10161918
mov eax, dword [ebp - 0x1c]
add eax, 0x20
mov dword [ebp - 0x1c48], eax
lea ecx, [ebp - 0x1d70]
mov dword [ebp - 0x191c], ecx
mov edx, dword [ebp - 0x191c]
mov eax, dword [ebp - 0x24]
mov dword [edx], eax
mov ecx, dword [ebp - 0x191c]
mov dword [ebp - 0x1dd0], ecx
mov edx, dword [ebp - 0x1d70]
mov eax, dword [edx]
mov dword [ebp - 0x1d64], eax
mov ecx, 0xa
shl ecx, 2
mov edx, dword [ebp - 0x1d64]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1d6c], eax
mov ecx, dword [ebp - 0x1d6c]
mov dword [ebp - 0x1dd4], ecx
mov edx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], edx
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x1dd8]
mov dword [ebp - 0x1d78], eax
xorps xmm0, xmm0
movss dword [ebp - 0x192c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x1928], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x1924], xmm0
mov eax, dword [ebp - 0x1c48]
mov ecx, dword [ebp - 0x1d78]
movss xmm0, dword [eax]
subss xmm0, dword [ecx]
movss dword [ebp - 0x192c], xmm0
mov edx, dword [ebp - 0x1c48]
mov eax, dword [ebp - 0x1d78]
movss xmm0, dword [edx + 4]
subss xmm0, dword [eax + 4]
movss dword [ebp - 0x1928], xmm0
mov ecx, dword [ebp - 0x1c48]
mov edx, dword [ebp - 0x1d78]
movss xmm0, dword [ecx + 8]
subss xmm0, dword [edx + 8]
movss dword [ebp - 0x1924], xmm0
movss xmm0, dword [ebp - 0x192c]
mulss xmm0, dword [ebp - 0x192c]
movss xmm1, dword [ebp - 0x1928]
mulss xmm1, dword [ebp - 0x1928]
addss xmm0, xmm1
movss dword [ebp - 0x1d7c], xmm0
cvtss2sd xmm0, dword [ebp - 0x1d7c]
sub esp, 8
movsd qword [esp], xmm0
call fcn.100fb340
add esp, 8
fstp dword [ebp - 0x1ddc]
fld dword [ebp - 0x1ddc]
fstp dword [ebp - 0x1d80]
movss xmm0, dword [0x102f8810]
comiss xmm0, dword [ebp - 0x1d80]
jbe 0x10160fe4
mov byte [ebp - 0x1c01], 0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x10
push 3
lea ecx, [ebp - 0x1934]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x34]
call fcn.100f840b
lea ecx, [ebp - 0x1934]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x1c01]
jmp 0x10161956
push 1
lea eax, [ebp - 0x1c10]
push eax
lea ecx, [ebp - 0x34]
call fcn.100fa3d2
mov dword [ebp - 0x1dd0], eax
mov ecx, dword [ebp - 0x1dd0]
mov dword [ebp - 0x1dd4], ecx
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1dd4]
call fcn.100fb421
mov dword [ebp - 0x1938], eax
mov edx, dword [ebp - 0x1938]
mov eax, dword [edx]
mov dword [ebp - 0x1d84], eax
mov ecx, dword [ebp - 0x1d84]
movzx edx, byte [ecx + 0x3c0]
test edx, edx
jne 0x10161047
mov dword [ebp - 0x1dd8], 1
jmp 0x10161051
mov dword [ebp - 0x1dd8], 0
mov al, byte [ebp - 0x1dd8]
mov byte [ebp - 0x1c02], al
mov byte [ebp - 4], 1
mov byte [ebp - 4], 0x12
push 3
lea ecx, [ebp - 0x1940]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1c10]
call fcn.100f840b
lea ecx, [ebp - 0x1940]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
movzx ecx, byte [ebp - 0x1c02]
test ecx, ecx
je 0x101610e2
mov byte [ebp - 0x1c11], 0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x13
push 3
lea ecx, [ebp - 0x1948]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x34]
call fcn.100f840b
lea ecx, [ebp - 0x1948]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x1c11]
jmp 0x10161956
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x1016115b
lea ecx, [ebp - 0x1d94]
mov dword [ebp - 0x194c], ecx
mov edx, dword [ebp - 0x194c]
mov eax, dword [ebp - 0x24]
mov dword [edx], eax
mov ecx, dword [ebp - 0x194c]
mov dword [ebp - 0x1dd0], ecx
mov edx, dword [ebp - 0x1d94]
mov eax, dword [edx]
mov dword [ebp - 0x1d90], eax
mov ecx, 0xa
shl ecx, 2
mov edx, dword [ebp - 0x1d90]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1d8c], eax
mov ecx, dword [ebp - 0x1d8c]
mov dword [ebp - 0x1dd4], ecx
mov edx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], edx
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x1dd8]
mov dword [ebp - 0x1ddc], eax
jmp 0x101611bf
push 1
lea eax, [ebp - 0x1c24]
push eax
lea ecx, [ebp - 0x34]
call fcn.100fa3d2
mov dword [ebp - 0x1de0], eax
mov ecx, dword [ebp - 0x1de0]
mov dword [ebp - 0x1de4], ecx
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x1c98]
or edx, 4
mov dword [ebp - 0x1c98], edx
mov ecx, dword [ebp - 0x1de4]
call fcn.100fb421
mov dword [ebp - 0x1950], eax
mov eax, dword [ebp - 0x1950]
mov ecx, dword [eax]
mov dword [ebp - 0x1d98], ecx
mov edx, dword [ebp - 0x1d98]
add edx, 0x20
mov dword [ebp - 0x1ddc], edx
mov eax, dword [ebp - 0x1ddc]
mov dword [ebp - 0x1c18], eax
mov ecx, dword [ebp - 0x1c18]
mov edx, dword [ecx]
mov dword [ebp - 0x44], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x40], eax
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x1c98]
and edx, 4
je 0x10161228
and dword [ebp - 0x1c98], 0xfffffffb
mov byte [ebp - 4], 0x15
push 3
lea ecx, [ebp - 0x1958]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1c24]
call fcn.100f840b
lea ecx, [ebp - 0x1958]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x1016125c
mov ecx, dword [0x103b5430]
sub ecx, 0x41
xor ecx, 0xd81e9554
mov dword [ebp - 0x1d9c], ecx
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x1d9c]
movss xmm0, dword [edx]
movss dword [ebp - 0x1dd0], xmm0
jmp 0x101612c4
push 1
lea eax, [ebp - 0x1c30]
push eax
lea ecx, [ebp - 0x34]
call fcn.100fa3d2
mov dword [ebp - 0x1dd4], eax
mov ecx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], ecx
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1c98]
or edx, 8
mov dword [ebp - 0x1c98], edx
mov ecx, dword [ebp - 0x1dd8]
call fcn.100fb421
mov dword [ebp - 0x195c], eax
mov eax, dword [ebp - 0x195c]
mov ecx, dword [eax]
mov dword [ebp - 0x1da0], ecx
mov edx, dword [ebp - 0x1da0]
movss xmm0, dword [edx + 0x14]
movss dword [ebp - 0x1dd0], xmm0
movss xmm0, dword [ebp - 0x1dd0]
movss dword [ebp - 0x48], xmm0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x1c98]
and eax, 8
je 0x10161317
and dword [ebp - 0x1c98], 0xfffffff7
mov byte [ebp - 4], 0x17
push 3
lea ecx, [ebp - 0x1960]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x1c30]
call fcn.100f840b
lea ecx, [ebp - 0x1960]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov byte [ebp - 4], 1
lea eax, [ebp - 0x1db8]
mov dword [ebp - 0x1968], eax
mov ecx, dword [ebp - 0x1968]
mov edx, dword [ebp - 0x28]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1968]
mov dword [ebp - 0x1dd0], eax
mov ecx, dword [ebp - 0x1db8]
mov edx, dword [ecx]
mov dword [ebp - 0x1db4], edx
mov eax, 0xa
shl eax, 2
mov ecx, dword [ebp - 0x1db4]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1db0], edx
mov eax, dword [ebp - 0x1db0]
mov dword [ebp - 0x1dd4], eax
mov ecx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], ecx
push 0
mov ecx, dword [ebp - 0x28]
call dword [ebp - 0x1dd8]
fstp dword [ebp - 0x1da8]
lea edx, [ebp - 0x1dc8]
mov dword [ebp - 0x196c], edx
mov eax, dword [ebp - 0x196c]
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
mov edx, dword [ebp - 0x196c]
mov dword [ebp - 0x1ddc], edx
mov eax, dword [ebp - 0x1dc8]
mov ecx, dword [eax]
mov dword [ebp - 0x1dc4], ecx
mov edx, 0xa
shl edx, 2
mov eax, dword [ebp - 0x1dc4]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1dc0], ecx
mov edx, dword [ebp - 0x1dc0]
mov dword [ebp - 0x1de0], edx
mov eax, dword [ebp - 0x1de0]
mov dword [ebp - 0x1de4], eax
push 1
mov ecx, dword [ebp - 0x28]
call dword [ebp - 0x1de4]
fstp dword [ebp - 0x1de8]
movss xmm0, dword [ebp - 0x1de8]
addss xmm0, dword [ebp - 0x1da8]
movss dword [ebp - 0x4c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x1c34], xmm0
movzx eax, byte [ebp - 0x1db9]
push eax
push 0x1032b008
lea ecx, [ebp - 0x1c34]
push ecx
lea edx, [ebp - 0x4c]
push edx
call fcn.100f8366
add esp, 0x10
movss xmm0, dword [eax]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [0x103a31a4]
movss dword [ebp - 0x50], xmm0
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x48]
subss xmm0, dword [eax + 0x14]
movss dword [ebp - 0x54], xmm0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x10161480
movss xmm0, dword [0x102f8810]
movss dword [ebp - 0x1dd0], xmm0
jmp 0x1016148d
movss xmm0, dword [ebp - 0x54]
movss dword [ebp - 0x1dd0], xmm0
movss xmm0, dword [ebp - 0x1dd0]
movss dword [ebp - 0x58], xmm0
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x14]
addss xmm0, dword [ebp - 0x50]
addss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0x5c], xmm0
mov eax, dword [0x103a58b4]
movss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [0x102f8810]
divss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [0x102f8810]
movss dword [ebp - 0x1c4c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x1c50], xmm0
movss xmm0, dword [ebp - 0x64]
mulss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x1c54], xmm0
movzx eax, byte [ebp - 0x1dc9]
push eax
lea ecx, [ebp - 0x1c4c]
push ecx
lea edx, [ebp - 0x1c50]
push edx
lea eax, [ebp - 0x1c54]
push eax
call fcn.100f8366
add esp, 0x10
movss xmm0, dword [eax]
movss dword [ebp - 0x1dd0], xmm0
mov ecx, dword [ebp - 0x1c]
add ecx, 0x20
mov edx, dword [ecx]
mov dword [ebp - 0x1c78], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x1c74], eax
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x1c70], ecx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c68], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c64], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c60], ecx
push ecx
movss xmm0, dword [ebp - 0x1dd0]
movss dword [esp], xmm0
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x1c78]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1c74]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1c70]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1c68]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1c64]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1c60]
mov dword [ecx + 8], edx
lea eax, [ebp - 0x74]
push eax
call fcn.100f90f9
add esp, 0x20
mov dword [ebp - 0x1974], 0x80
lea eax, [ebp - 0x1878]
mov dword [ebp - 0x1970], eax
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1dd0], ecx
mov edx, dword [ebp - 0x1974]
sub edx, 1
mov dword [ebp - 0x1974], edx
cmp dword [ebp - 0x1dd0], 0
jbe 0x10161633
mov dword [ebp - 0x1dd4], 0x100f9446
mov ecx, dword [ebp - 0x1970]
call dword [ebp - 0x1dd4]
mov eax, dword [ebp - 0x1970]
add eax, 0x30
mov dword [ebp - 0x1970], eax
jmp 0x101615e8
push 0x1800
mov eax, dword [ebp - 0x1c]
add eax, 0x3c4
push eax
lea ecx, [ebp - 0x1878]
push ecx
call fcn.100fa6bb
add esp, 0xc
mov dword [ebp - 0x187c], 0
jmp 0x1016166b
mov eax, dword [ebp - 0x187c]
add eax, 1
mov dword [ebp - 0x187c], eax
cmp dword [ebp - 0x187c], 0x80
jae 0x101618ba
imul eax, dword [ebp - 0x187c], 0x30
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + eax + 0x3c4]
mov dword [ebp - 0x1cb8], edx
mov eax, 4
imul ecx, eax, 3
mov edx, 0x10
imul eax, edx, 0
add eax, dword [ebp - 0x1cb8]
movss xmm0, dword [eax + ecx]
movss dword [ebp - 0x1978], xmm0
mov ecx, 4
imul edx, ecx, 3
mov eax, 0x10
shl eax, 0
add eax, dword [ebp - 0x1cb8]
movss xmm0, dword [eax + edx]
movss dword [ebp - 0x197c], xmm0
mov ecx, 4
imul edx, ecx, 3
mov eax, 0x10
shl eax, 1
add eax, dword [ebp - 0x1cb8]
movss xmm0, dword [eax + edx]
movss dword [ebp - 0x1980], xmm0
movss xmm0, dword [ebp - 0x1978]
movss dword [ebp - 0x1c84], xmm0
movss xmm0, dword [ebp - 0x197c]
movss dword [ebp - 0x1c80], xmm0
movss xmm0, dword [ebp - 0x1980]
movss dword [ebp - 0x1c7c], xmm0
lea ecx, [ebp - 0x1c84]
mov dword [ebp - 0x1cbc], ecx
mov edx, dword [ebp - 0x1c]
add edx, 0x20
mov dword [ebp - 0x1990], edx
mov eax, dword [ebp - 0x1cbc]
mov ecx, dword [ebp - 0x1990]
movss xmm0, dword [eax]
subss xmm0, dword [ecx]
movss dword [ebp - 0x1984], xmm0
mov edx, dword [ebp - 0x1cbc]
mov eax, dword [ebp - 0x1990]
movss xmm0, dword [edx + 4]
subss xmm0, dword [eax + 4]
movss dword [ebp - 0x1988], xmm0
mov ecx, dword [ebp - 0x1cbc]
mov edx, dword [ebp - 0x1990]
movss xmm0, dword [ecx + 8]
subss xmm0, dword [edx + 8]
movss dword [ebp - 0x198c], xmm0
movss xmm0, dword [ebp - 0x1984]
movss dword [ebp - 0x1888], xmm0
movss xmm0, dword [ebp - 0x1988]
movss dword [ebp - 0x1884], xmm0
movss xmm0, dword [ebp - 0x198c]
movss dword [ebp - 0x1880], xmm0
imul eax, dword [ebp - 0x187c], 0x30
lea ecx, [ebp + eax - 0x1878]
mov dword [ebp - 0x1cc0], ecx
movss xmm0, dword [ebp - 0x1888]
addss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x1994], xmm0
movss xmm0, dword [ebp - 0x1884]
addss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0x1998], xmm0
movss xmm0, dword [ebp - 0x1880]
addss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x199c], xmm0
movss xmm0, dword [ebp - 0x1994]
movss dword [ebp - 0x1c90], xmm0
movss xmm0, dword [ebp - 0x1998]
movss dword [ebp - 0x1c8c], xmm0
movss xmm0, dword [ebp - 0x199c]
movss dword [ebp - 0x1c88], xmm0
mov edx, 0x10
imul eax, edx, 0
add eax, dword [ebp - 0x1cc0]
mov ecx, 4
imul edx, ecx, 3
movss xmm0, dword [ebp - 0x1c90]
movss dword [eax + edx], xmm0
mov eax, 0x10
shl eax, 0
add eax, dword [ebp - 0x1cc0]
mov ecx, 4
imul edx, ecx, 3
movss xmm0, dword [ebp - 0x1c8c]
movss dword [eax + edx], xmm0
mov eax, 0x10
shl eax, 1
add eax, dword [ebp - 0x1cc0]
mov ecx, 4
imul edx, ecx, 3
movss xmm0, dword [ebp - 0x1c88]
movss dword [eax + edx], xmm0
jmp 0x1016165c
push 0x1800
lea eax, [ebp - 0x1878]
push eax
mov ecx, dword [ebx + 0xc]
push ecx
call fcn.100fa6bb
add esp, 0xc
mov byte [ebp - 0x1c91], 1
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x18
push 3
lea ecx, [ebp - 0x19a4]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x34]
call fcn.100f840b
lea ecx, [ebp - 0x19a4]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x1c91]
jmp 0x10161956
jmp 0x10160a0f
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x19
push 3
lea ecx, [ebp - 0x19ac]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x34]
call fcn.100f840b
lea ecx, [ebp - 0x19ac]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 4], 0xffffffff
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100f9e28
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8