Function at 0x180130fa0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1c8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movzx edi, r9b
mov rsi, r8
mov r13, rcx
xor r14d, r14d
lea rax, str.Bind_
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], 9
mov rcx, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x18013100b
mov rcx, qword [r8]
mov rax, qword [r8 + 0x10]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x38], xmm0
movabs rax, 0xc000000000000000
mov qword [rbp + 0x30], rax
mov qword [rbp - 0x30], 1
lea rax, [rbp + 0x30]
mov qword [rbp - 0x28], rax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rbp + 0x70]
movdqa xmmword [rbp - 0x20], xmm1
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x48]
call fcn.1800ab1e0
nop
lea rbx, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova rbx, qword [rbp + 0x48]
cmp byte [0x1802563cb], 0
jne 0x180131083
cmp byte [0x1802563ca], 0
je 0x180131092
movss xmm1, dword [0x18022cae4]
xor ecx, ecx
call fcn.1800450d0
mov rax, qword [0x1802563d0]
test rbx, rbx
je 0x1801310d9
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rbx
movss xmm0, dword [0x18022ce3c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x18022ce10]
movss xmm2, dword [rax + 0x3c18]
lea rdx, [rbp + 0x118]
mov rcx, qword [rax + 0x3c10]
call fcn.18006ac40
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.1800766c0
cmp byte [0x1802563cb], 0
jne 0x1801310fb
cmp byte [0x1802563ca], 0
je 0x180131106
mov ecx, 1
call fcn.1800451e0
nop
lea rcx, [rbp + 0x48]
call fcn.180093e20
mov ecx, dword [0x180255e0c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180266fa0], ecx
jle 0x18013115f
lea rcx, [0x180266fa0]
call fcn.1801a548c
cmp dword [0x180266fa0], 0xffffffff
jne 0x18013115f
lea rcx, [0x1801b5af0]
call fcn.1801a58cc
lea rcx, [0x180266fa0]
call fcn.1801a5420
lea rbx, [0x180251910]
xorps xmm8, xmm8
test dil, dil
je 0x180131211
mov dword [0x180251780], 0xffffffff
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.180093ab0
mov qword [rbp - 0x60], r14
mov dword [rbp - 0x58], r14d
mov byte [rbp - 0x54], 0
mov dword [rbp - 0x50], 0
movsd qword [rbp - 0x48], xmm8
mov word [rbp - 0x40], 0x100
mov dword [rbp - 0x3c], 0xffffffff
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1800939b0
mov eax, dword [rbp - 0x60]
mov dword [0x180251930], eax
mov eax, dword [rbp - 0x5c]
mov dword [0x180251934], eax
mov eax, dword [rbp - 0x58]
mov dword [0x180251938], eax
movzx eax, byte [rbp - 0x54]
mov byte [0x18025193c], al
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [0x180251940], xmm0
movzx eax, byte [rbp - 0x40]
mov byte [0x180251950], al
movzx eax, byte [rbp - 0x3f]
mov byte [0x180251951], al
mov eax, dword [rbp - 0x3c]
mov dword [0x180251954], eax
lea rcx, [rbp - 0x80]
call fcn.180093e20
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x18], xmm0
mov r15, r14
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x28], r14
movdqu xmmword [rbp], xmm0
mov r12, r14
mov qword [rbp + 0x118], r14
mov qword [rbp + 0x10], r14
movdqu xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r14
lea rax, [r13 + 0x70]
mov qword [rbp - 0x30], rax
mov rdi, qword [rax + 8]
mov rbx, qword [rdi]
mov rsi, qword [rbp + 8]
cmp rbx, rdi
je 0x1801312a0
nop dword [rax + rax]
lea r8, [rbx + 0x10]
mov eax, dword [r8]
cmp eax, 0xffffffff
je 0x180131291
cmp rsi, r12
je 0x18013127d
mov dword [rsi], eax
add rsi, 4
mov qword [rbp + 8], rsi
jmp 0x180131291
mov rdx, rsi
lea rcx, [rbp]
call fcn.18013b900
mov r12, qword [rbp + 0x10]
mov rsi, qword [rbp + 8]
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x180131260
mov qword [rbp + 0x118], r12
mov r8, rsi
mov r13, qword [rbp]
sub r8, r13
sar r8, 2
movzx r9d, byte [rbp + 0x128]
mov rdx, rsi
mov rcx, r13
call fcn.18013c240
mov rdi, r13
mov ecx, 2
movabs rdx, 0xe38e38e38e38e39
mov rbx, qword [rbp + 0x38]
cmp r13, rsi
je 0x180131437
lea rax, str._Bind
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0xb
mov qword [rsp + 0x60], rcx
lea rax, [rbp - 0x80]
mov qword [rsp + 0x68], rax
movabs r13, 0x1000000000000010
movaps xmm6, xmmword [rbp - 0x20]
movaps xmm7, xmmword [rsp + 0x60]
mov r15, qword [rbp + 0x120]
movabs r12, 0xc000000000000000
movsxd r9, dword [rdi]
cmp r9d, 0xffffffff
je 0x180131362
mov rcx, qword [0x180252ad8]
mov r10, qword [0x180252ad0]
sub rcx, r10
mov rax, rdx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jae 0x180131362
lea rax, [r9 + r9*8]
lea rax, [r10 + rax*8]
jmp 0x180131365
mov rax, r15
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x180131372
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x80], r12
mov dword [rbp - 0x60], r9d
mov qword [rbp - 0x78], r13
movdqa xmmword [rbp - 0x20], xmm7
movdqa xmmword [rsp + 0x40], xmm6
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x48]
call fcn.1800ab1e0
nop
cmp rbx, r14
je 0x1801313f0
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
movups xmm0, xmmword [rbp + 0x48]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp + 0x58]
movups xmmword [rbx + 0x10], xmm1
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], 0xf
mov byte [rbp + 0x48], al
add rbx, 0x20
mov qword [rbp + 0x38], rbx
jmp 0x180131408
lea r8, [rbp + 0x48]
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.180097400
mov r14, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x38]
lea rcx, [rbp + 0x48]
call fcn.180093e20
add rdi, 4
cmp rdi, rsi
movabs rdx, 0xe38e38e38e38e39
jne 0x180131325
mov r15, qword [rbp + 0x70]
mov r12, qword [rbp + 0x118]
mov r13, qword [rbp]
mov r14, qword [rbp + 0x30]
mov rdi, qword [rbp + 0x20]
cmp r14, rbx
je 0x18013148e
mov rax, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x180131451
mov rax, qword [r14]
mov qword [rbp + 0x118], rax
cmp rdi, r15
je 0x18013146a
mov qword [rdi], rax
add rdi, 8
mov qword [rbp + 0x20], rdi
jmp 0x180131485
lea r8, [rbp + 0x118]
mov rdx, rdi
lea rcx, [rbp + 0x18]
call fcn.18013b760
mov r15, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x20]
add r14, 0x20
cmp r14, rbx
jne 0x180131444
lea rax, str.new_bind
mov qword [rbp + 0x118], rax
cmp rdi, r15
je 0x1801314ae
mov qword [rdi], rax
add rdi, 8
mov qword [rbp + 0x20], rdi
jmp 0x1801314c9
lea r8, [rbp + 0x118]
mov rdx, rdi
lea rcx, [rbp + 0x18]
call fcn.18013b760
mov r15, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x20]
mov dword [rbp + 0x118], 0xffffffff
cmp rsi, r12
je 0x1801314e8
mov dword [rsi], 0xffffffff
add rsi, 4
mov qword [rbp + 8], rsi
jmp 0x180131507
lea r8, [rbp + 0x118]
mov rdx, rsi
lea rcx, [rbp]
call fcn.18013b900
mov r12, qword [rbp + 0x10]
mov rsi, qword [rbp + 8]
mov r13, qword [rbp]
mov dword [rbp + 0x128], 0xfffffffe
lea rax, [rsp + 0x40]
mov qword [rbp + 0x118], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
xor eax, eax
mov qword [rsp + 0x50], rax
sub rsi, r13
mov rbx, rsi
sar rbx, 2
test rbx, rbx
je 0x18013157d
movabs rax, 0x3fffffffffffffff
cmp rbx, rax
ja 0x1801321c1
mov rdx, rbx
call fcn.1800d6350
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
lea rbx, [rax + rbx*4]
mov qword [rsp + 0x50], rbx
mov r8, rsi
mov rdx, r13
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x48], rbx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
xor ebx, ebx
mov qword [rsp + 0x70], rbx
mov r14, qword [rbp + 0x18]
sub rdi, r14
mov rsi, rdi
sar rsi, 3
test rsi, rsi
je 0x1801315cb
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.1800bb140
mov rbx, qword [rsp + 0x60]
mov r8, rdi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rsi*8]
mov qword [rsp + 0x68], rax
xor ebx, ebx
lea rax, [rbp + 0x128]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0xffffffc4
mov dword [rsp + 0x20], 8
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
lea rdx, [0x180251780]
lea rcx, str.Bind
call fcn.18010af20
lea rdi, [0x180267020]
movabs rsi, 0x100000001b3
test al, al
je 0x180131855
movsxd r8, dword [0x180251780]
cmp r8d, 0xffffffff
je 0x1801316f0
mov rcx, qword [0x180252ad8]
mov r10, qword [0x180252ad0]
sub rcx, r10
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x1801316f0
lea rax, [r8 + r8*8]
lea rbx, [r10 + rax*8]
lea rax, [0x180251910]
cmp rax, rbx
je 0x18013169c
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180131689
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.180093e80
mov r8d, dword [0x180251780]
mov eax, dword [rbx + 0x20]
mov dword [0x180251930], eax
mov eax, dword [rbx + 0x24]
mov dword [0x180251934], eax
mov eax, dword [rbx + 0x28]
mov dword [0x180251938], eax
movzx eax, byte [rbx + 0x2c]
mov byte [0x18025193c], al
movups xmm0, xmmword [rbx + 0x30]
movaps xmmword [0x180251940], xmm0
movzx eax, byte [rbx + 0x40]
mov byte [0x180251950], al
movzx eax, byte [rbx + 0x41]
mov byte [0x180251951], al
mov eax, dword [rbx + 0x44]
mov dword [0x180251954], eax
xor ebx, ebx
jmp 0x180131796
mov rdx, qword [rbp + 0x120]
lea rcx, [rbp - 0x80]
call fcn.180093ab0
mov qword [rbp - 0x60], 0
mov dword [rbp - 0x58], ebx
mov byte [rbp - 0x54], 0
mov dword [rbp - 0x50], 0
movsd qword [rbp - 0x48], xmm8
mov word [rbp - 0x40], 0x100
mov dword [rbp - 0x3c], 0xffffffff
lea rdx, [rbp - 0x80]
lea rcx, [0x180251910]
call fcn.1800939b0
mov eax, dword [rbp - 0x60]
mov dword [0x180251930], eax
mov eax, dword [rbp - 0x5c]
mov dword [0x180251934], eax
mov eax, dword [rbp - 0x58]
mov dword [0x180251938], eax
movzx eax, byte [rbp - 0x54]
mov byte [0x18025193c], al
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [0x180251940], xmm0
movzx eax, byte [rbp - 0x40]
mov byte [0x180251950], al
movzx eax, byte [rbp - 0x3f]
mov byte [0x180251951], al
mov eax, dword [rbp - 0x3c]
mov dword [0x180251954], eax
lea rcx, [rbp - 0x80]
call fcn.180093e20
mov r8d, dword [0x180251780]
movzx ecx, r8b
movabs r9, 0xcbf29ce484222325
xor rcx, r9
imul rcx, rsi
movzx eax, byte [0x180251781]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [0x180251782]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [0x180251783]
xor rcx, rax
imul rcx, rsi
mov r11, qword [rbp + 0x110]
mov rdx, qword [r11 + 0xa0]
and rdx, rcx
add rdx, rdx
mov rcx, qword [r11 + 0x88]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [r11 + 0x78]
je 0x180131816
mov rcx, qword [rcx + rdx*8]
cmp r8d, dword [rax + 0x10]
je 0x180131819
cmp rax, rcx
je 0x180131816
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x180131805
jmp 0x180131819
mov rax, rbx
test rax, rax
je 0x18013186d
lea rcx, [r11 + 0x70]
lea r8, [0x180251780]
lea rdx, [rsp + 0x40]
call fcn.1800ac890
mov rdx, qword [rax]
add rdx, 0x18
cmp rdi, rdx
je 0x180131855
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x18013184d
mov rdx, qword [rdx]
mov rcx, rdi
call fcn.180093e80
movabs r9, 0xcbf29ce484222325
mov r11, qword [rbp + 0x110]
mov r8d, dword [0x180251780]
mov edx, dword [rbp + 0x128]
cmp edx, 0xfffffffe
je 0x180131a85
cmp edx, 0xffffffff
jne 0x1801319ce
mov rcx, qword [0x180252ad8]
sub rcx, qword [0x180252ad0]
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [0x180251780], edx
mov rsi, qword [rbp + 0x120]
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.180093ab0
mov qword [rbp - 0x60], 0
mov dword [rbp - 0x58], ebx
mov byte [rbp - 0x54], 0
mov dword [rbp - 0x50], 0
movsd qword [rbp - 0x48], xmm8
mov word [rbp - 0x40], 0x100
mov dword [rbp - 0x3c], 0xffffffff
lea rdx, [rbp - 0x80]
lea rcx, [0x180251910]
call fcn.1800939b0
mov eax, dword [rbp - 0x60]
mov dword [0x180251930], eax
mov eax, dword [rbp - 0x5c]
mov dword [0x180251934], eax
mov eax, dword [rbp - 0x58]
mov dword [0x180251938], eax
movzx eax, byte [rbp - 0x54]
mov byte [0x18025193c], al
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [0x180251940], xmm0
movzx eax, byte [rbp - 0x40]
mov byte [0x180251950], al
movzx eax, byte [rbp - 0x3f]
mov byte [0x180251951], al
mov eax, dword [rbp - 0x3c]
mov dword [0x180251954], eax
lea rcx, [rbp - 0x80]
call fcn.180093e20
lea rdx, [0x180251910]
lea rcx, [rbp - 0x80]
call fcn.180093ab0
mov eax, dword [0x180251930]
mov dword [rbp - 0x60], eax
mov eax, dword [0x180251934]
mov dword [rbp - 0x5c], eax
mov eax, dword [0x180251938]
mov dword [rbp - 0x58], eax
movzx eax, byte [0x18025193c]
mov byte [rbp - 0x54], al
movaps xmm0, xmmword [0x180251940]
movups xmmword [rbp - 0x50], xmm0
movzx eax, byte [0x180251950]
mov byte [rbp - 0x40], al
movzx eax, byte [0x180251951]
mov byte [rbp - 0x3f], al
mov eax, dword [0x180251954]
mov dword [rbp - 0x3c], eax
lea r8, [rbp - 0x80]
mov edx, dword [0x180251780]
call fcn.1800e3f00
mov r8d, dword [0x180251780]
jmp 0x180131a8c
movzx ecx, dl
xor rcx, r9
imul rcx, rsi
movzx eax, byte [rbp + 0x129]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbp + 0x12a]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbp + 0x12b]
xor rcx, rax
imul rcx, rsi
mov r8, qword [r11 + 0xa0]
and r8, rcx
add r8, r8
mov r10, qword [r11 + 0x88]
mov rax, qword [r10 + r8*8 + 8]
lea rcx, [r11 + 0x78]
mov r9, qword [rcx]
cmp rax, r9
je 0x180131a48
mov r8, qword [r10 + r8*8]
cmp edx, dword [rax + 0x10]
je 0x180131a4b
cmp rax, r8
je 0x180131a44
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x180131a30
lea rcx, [r11 + 0x78]
jmp 0x180131a4b
lea rcx, [r11 + 0x78]
mov rax, rbx
test rax, rax
cmovne r9, rax
cmp r9, qword [rcx]
je 0x180131a70
mov r8, r9
lea rdx, [rbp + 0x118]
mov rcx, qword [rbp - 0x30]
call fcn.180139900
mov edx, dword [rbp + 0x128]
xor r8d, r8d
call fcn.1800e3fd0
mov r8d, 0xffffffff
mov dword [0x180251780], r8d
mov rsi, qword [rbp + 0x120]
cmp r8d, 0xffffffff
sete byte [0x1802563ca]
mov rdx, qword [0x1802575d8]
mov rcx, qword [0x1802575f0]
test rcx, rcx
jns 0x180131acd
mov rax, rcx
neg rax
je 0x180131acd
mov rax, rcx
not rax
shr rax, 5
lea rax, [rax*4 + 4]
sub rdx, rax
mov qword [rbp - 0x30], rdx
jmp 0x180131adc
mov rax, rcx
shr rax, 5
lea rax, [rdx + rax*4]
mov qword [rbp - 0x30], rax
and ecx, 0x1f
mov qword [rbp - 0x28], rcx
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea r9, [0x1802563ca]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [0x1802575d8]
call fcn.18012b330
mov rcx, qword [0x1802563d0]
mov rax, qword [rcx + 0x3ee0]
movss xmm8, dword [rax + 0x104]
subss xmm8, dword [rax + 0x24]
movss xmm9, dword [rax + 0x100]
subss xmm9, dword [rax + 0x20]
addss xmm9, dword [rax + 0x84]
addss xmm8, dword [rax + 0x88]
movss xmm2, dword [rax + 0x28]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ee0]
movss xmm1, dword [rax + 0x24]
subss xmm1, dword [rax + 0x88]
movss xmm6, dword [0x18022cc6c]
addss xmm1, xmm6
movss xmm0, dword [rax + 0x20]
subss xmm0, dword [rax + 0x84]
subss xmm2, dword [0x18022cc5c]
addss xmm0, xmm2
movss dword [rax + 0x100], xmm0
movss dword [rax + 0x104], xmm1
mov byte [rax + 0x141], 1
movdqa xmm7, xmmword [0x18022d610]
lea rax, [0x180223ccc]
lea rcx, [0x180223cc8]
cmp byte [0x180251951], 0
cmovne rcx, rax
movdqa xmmword [rsp + 0x40], xmm7
lea r8, [rsp + 0x40]
call fcn.180107070
test al, al
je 0x180131be7
cmp byte [0x180251951], 0
sete byte [0x180251951]
mov rcx, qword [0x1802563d0]
mov rax, qword [rcx + 0x3ee0]
movss xmm2, dword [rax + 0x28]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ee0]
movss xmm1, dword [rax + 0x24]
subss xmm1, dword [rax + 0x88]
addss xmm1, xmm6
movss xmm0, dword [rax + 0x20]
subss xmm0, dword [rax + 0x84]
subss xmm2, dword [0x18022cca0]
addss xmm0, xmm2
movss dword [rax + 0x100], xmm0
movss dword [rax + 0x104], xmm1
mov byte [rax + 0x141], 1
lea rax, [0x180223d18]
lea rcx, [0x180223d14]
cmp byte [0x18025193c], 0
cmove rcx, rax
movdqa xmmword [rsp + 0x40], xmm7
lea r8, [rsp + 0x40]
call fcn.180107070
test al, al
je 0x180131c84
cmp byte [0x18025193c], 0
sete byte [0x18025193c]
mov rcx, qword [0x1802563d0]
mov rax, qword [rcx + 0x3ee0]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ee0]
movss xmm1, dword [rax + 0x24]
subss xmm1, dword [rax + 0x88]
addss xmm1, xmm8
movss xmm0, dword [rax + 0x20]
subss xmm0, dword [rax + 0x84]
addss xmm0, xmm9
movss dword [rax + 0x100], xmm0
movss dword [rax + 0x104], xmm1
mov byte [rax + 0x141], 1
lea rax, [rbp - 0x20]
mov qword [rbp + 0x118], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rbx
lea rax, [0x180220800]
mov qword [rsp + 0x60], rax
lea rax, str.Class
mov qword [rsp + 0x68], rax
lea rax, str.Weapon_type
mov qword [rsp + 0x70], rax
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov edx, 3
lea rcx, [rsp + 0x40]
call fcn.1800bb140
mov rbx, qword [rsp + 0x40]
mov r8d, 0x18
lea rdx, [rsp + 0x60]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
xor ebx, ebx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x20]
lea r8, [rsp + 0x40]
lea rdx, [0x180251930]
lea rcx, str.Type
call fcn.18010af20
mov ecx, dword [0x180251930]
test ecx, ecx
je 0x180131f1d
sub ecx, 1
je 0x180131e3e
cmp ecx, 1
jne 0x180131fde
mov eax, dword [0x180251934]
cmp eax, 2
mov ecx, 2
cmovg eax, ecx
mov dword [0x180251934], eax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x118], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rbx
lea rax, str.Hitscan
mov qword [rsp + 0x60], rax
lea rax, str.Projectile
mov qword [rsp + 0x68], rax
lea rax, str.Melee
mov qword [rsp + 0x70], rax
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov edx, 3
lea rcx, [rsp + 0x40]
call fcn.1800bb140
mov rbx, qword [rsp + 0x40]
mov r8d, 0x18
lea rdx, [rsp + 0x60]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
lea rcx, str.Weapon_type
jmp 0x180131fb1
mov eax, dword [0x180251934]
cmp eax, 8
mov ecx, 8
cmovg eax, ecx
mov dword [0x180251934], eax
lea rax, [rsp + 0x60]
mov qword [rbp + 0x118], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rbx
lea rax, str.Scout
mov qword [rbp - 0x80], rax
lea rax, str.Soldier
mov qword [rbp - 0x78], rax
lea rax, str.Pyro
mov qword [rbp - 0x70], rax
lea rax, str.Demoman
mov qword [rbp - 0x68], rax
lea rax, str.Heavy
mov qword [rbp - 0x60], rax
lea rax, str.Engineer
mov qword [rbp - 0x58], rax
lea rax, str.Medic
mov qword [rbp - 0x50], rax
lea rax, str.Sniper
mov qword [rbp - 0x48], rax
lea rax, [0x1802242a4]
mov qword [rbp - 0x40], rax
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov edx, 9
lea rcx, [rsp + 0x40]
call fcn.1800bb140
mov rbx, qword [rsp + 0x40]
mov r8d, 0x48
lea rdx, [rbp - 0x80]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 0x48]
mov qword [rsp + 0x48], rax
lea r9, [rsp + 0x60]
lea rcx, str.Class
jmp 0x180131fb5
mov eax, dword [0x180251934]
cmp eax, 2
mov ecx, 2
cmovg eax, ecx
mov dword [0x180251934], eax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x118], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rbx
lea rax, str.Hold
mov qword [rsp + 0x60], rax
lea rax, str.Toggle
mov qword [rsp + 0x68], rax
lea rax, str.Double_click
mov qword [rsp + 0x70], rax
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov edx, 3
lea rcx, [rsp + 0x40]
call fcn.1800bb140
mov rbx, qword [rsp + 0x40]
mov r8d, 0x18
lea rdx, [rsp + 0x60]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
lea rcx, str.Behavior
lea r9, [rbp - 0x20]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 2
lea r8, [rsp + 0x40]
lea rdx, [0x180251934]
call fcn.18010af20
cmp dword [0x180251930], 0
jne 0x180132000
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x180251938]
lea rcx, [0x180220800]
call fcn.18010f970
cmp byte [0x1802563ca], 0
jne 0x1801320dd
movsxd r9, dword [0x180251780]
cmp r9d, 0xffffffff
je 0x1801320dd
mov rcx, qword [0x180252ad8]
sub rcx, qword [0x180252ad0]
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jae 0x1801320dd
mov rcx, qword [rbp + 0x110]
add rcx, 0x70
lea r8, [0x180251780]
lea rdx, [rsp + 0x40]
call fcn.1800ac890
mov rcx, qword [rax]
add rcx, 0x18
cmp rcx, rdi
je 0x180132097
cmp qword [0x180267038], 0xf
cmova rdi, qword [0x180267020]
mov r8, qword [0x180267030]
mov rdx, rdi
call fcn.180093e80
movsxd rax, dword [0x180251780]
lea rdx, [rax + rax*8]
mov rcx, qword [0x180252ad0]
mov eax, dword [0x180251930]
mov dword [rcx + rdx*8 + 0x20], eax
mov eax, dword [0x180251934]
mov dword [rcx + rdx*8 + 0x24], eax
mov eax, dword [0x180251938]
mov dword [rcx + rdx*8 + 0x28], eax
movzx eax, byte [0x180251951]
mov byte [rcx + rdx*8 + 0x41], al
movzx eax, byte [0x18025193c]
mov byte [rcx + rdx*8 + 0x2c], al
mov dword [rbp + 0x110], 0
mov dword [rbp + 0x114], 0x41000000
lea rcx, [rbp + 0x110]
call fcn.1800791b0
nop
lea rcx, [rbp + 0x30]
call fcn.180093c70
nop
test r13, r13
je 0x18013214d
sub r12, r13
sar r12, 2
lea rdx, [r12*4]
mov rax, r13
cmp rdx, 0x1000
jb 0x180132144
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180132144
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r13
call fcn.1801a53dc
nop
test r14, r14
je 0x18013218d
sub r15, r14
and r15, 0xfffffffffffffff8
mov rax, r14
cmp r15, 0x1000
jb 0x180132181
add r15, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180132181
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, r15
mov rcx, r14
call fcn.1801a53dc
nop
mov rcx, rsi
call fcn.180093e20
lea r11, [rsp + 0x1c8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180093c50
nop
int3