Function at 0x1801470b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x18054e100]
xor rax, rsp
mov qword [rbp + 0x128], rax
xor ebx, ebx
mov edx, dword [0x1805ed934]
lea rcx, [rsp + 0x48]
call fcn.18006a170
nop
movabs rdi, 0x7fffffffffffffff
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x1801483a6
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
lea r8d, [rbx + 0xf]
lea rdx, str._H3OPT_APPROACH
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
lea r10, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova r10, qword [rbp - 0x78]
mov r9d, ebx
mov r11, qword [rbp - 0x68]
add r11, r10
cmp r10, r11
je 0x1801471e4
nop word [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1801471b0
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
movabs rsi, 0xb3271d7ab655b441
mov r8d, 1
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x180147249
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180147244
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801483ac
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp - 0x68], xmm0
mov byte [rbp - 0x78], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x1801483b2
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0x11
lea rdx, str._H3_LAST_APPROACH
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova r10, qword [rbp - 0x58]
mov r9d, ebx
mov r11, qword [rbp - 0x48]
add r11, r10
cmp r10, r11
je 0x180147344
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180147310
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 2
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x18014739f
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18014739a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801483b8
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp - 0x48], xmm0
mov byte [rbp - 0x58], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x1801483be
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0x11
lea rdx, str._H3_HARD_APPROACH
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x28], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova r10, qword [rbp - 0x38]
mov r9d, ebx
mov r11, qword [rbp - 0x28]
add r11, r10
cmp r10, r11
je 0x1801474a4
nop word [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180147470
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 1
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x1801474ff
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801474fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801483c4
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp - 0x28], xmm0
mov byte [rbp - 0x38], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x1801483ca
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0xd
lea rdx, str._H3OPT_TARGET
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x18], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova r10, qword [rbp - 0x18]
mov r9d, ebx
mov r11, qword [rbp - 8]
add r11, r10
cmp r10, r11
je 0x180147604
nop word [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1801475d0
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 3
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x18014765f
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18014765a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801483d0
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp - 8], xmm0
mov byte [rbp - 0x18], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x1801483d6
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0x12
lea rdx, str._H3OPT_DISRUPTSHIP
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x18], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x18], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova r10, qword [rbp + 8]
mov r9d, ebx
mov r11, qword [rbp + 0x18]
add r11, r10
cmp r10, r11
je 0x180147764
nop word [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180147730
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 3
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x1801477bf
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801477ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801483dc
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x1801483e2
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0x10
lea rdx, str._H3OPT_KEYLEVELS
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x38], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova r10, qword [rbp + 0x28]
mov r9d, ebx
mov r11, qword [rbp + 0x38]
add r11, r10
cmp r10, r11
je 0x1801478c4
nop word [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180147890
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 2
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x18014791f
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18014791a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801483e8
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp + 0x38], xmm0
mov byte [rbp + 0x28], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x1801483ee
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0xf
lea rdx, str._H3OPT_CREWWEAP
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x58], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x58], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova r10, qword [rbp + 0x48]
mov r9d, ebx
mov r11, qword [rbp + 0x58]
add r11, r10
cmp r10, r11
je 0x180147a24
nop word [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x1801479f0
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 5
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x180147a7f
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180147a7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801483f4
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp + 0x58], xmm0
mov byte [rbp + 0x48], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x1801483fa
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0x11
lea rdx, str._H3OPT_CREWDRIVER
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x78], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x78], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp + 0x68]
cmp qword [rbp + 0x80], 0xf
cmova r10, qword [rbp + 0x68]
mov r9d, ebx
mov r11, qword [rbp + 0x78]
add r11, r10
cmp r10, r11
je 0x180147b84
nop dword [rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180147b50
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 2
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x180147be2
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180147bdd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180148400
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp + 0x78], xmm0
mov byte [rbp + 0x68], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x180148406
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0x11
lea rdx, str._H3OPT_CREWHACKER
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x98], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x88], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x98], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0xf
cmova r10, qword [rbp + 0x88]
mov r9d, ebx
mov r11, qword [rbp + 0x98]
add r11, r10
cmp r10, r11
je 0x180147cf5
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180147cc1
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 4
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0xf
jbe 0x180147d56
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180147d51
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18014840c
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp + 0x98], xmm0
mov byte [rbp + 0x88], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x180148412
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0xb
lea rdx, str._H3OPT_VEHS
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp + 0xa8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xa8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xb8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp + 0xa8]
cmp qword [rbp + 0xc0], 0xf
cmova r10, qword [rbp + 0xa8]
mov r9d, ebx
mov r11, qword [rbp + 0xb8]
add r11, r10
cmp r10, r11
je 0x180147e74
nop dword [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180147e40
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 3
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp + 0xc0]
cmp rdx, 0xf
jbe 0x180147ed5
inc rdx
mov rcx, qword [rbp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180147ed0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180148418
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp + 0xb8], xmm0
mov byte [rbp + 0xa8], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x18014841e
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0xc
lea rdx, str._H3OPT_WEAPS
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xd8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xc8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp + 0xc8]
cmp qword [rbp + 0xe0], 0xf
cmova r10, qword [rbp + 0xc8]
mov r9d, ebx
mov r11, qword [rbp + 0xd8]
add r11, r10
cmp r10, r11
je 0x180147ff4
nop word [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180147fc0
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 1
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp + 0xe0]
cmp rdx, 0xf
jbe 0x180148055
inc rdx
mov rcx, qword [rbp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180148050
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180148424
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp + 0xd8], xmm0
mov byte [rbp + 0xc8], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rax, rdi
mov rcx, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 2
jb 0x18014842a
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0xe
lea rdx, str._H3OPT_BITSET1
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp + 0xe8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xe8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xf8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r10, [rbp + 0xe8]
cmp qword [rbp + 0x100], 0xf
cmova r10, qword [rbp + 0xe8]
mov r9d, ebx
mov r11, qword [rbp + 0xf8]
add r11, r10
cmp r10, r11
je 0x180148174
nop word [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180148140
lea eax, [r9 + r9*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov r8d, 0x7f
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp + 0x100]
cmp rdx, 0xf
jbe 0x1801481d5
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801481d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180148430
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp + 0xf8], xmm0
mov byte [rbp + 0xe8], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
mov rcx, qword [rsp + 0x58]
sub rdi, rcx
cmp rdi, 2
jb 0x180148436
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
lea r9, [0x18048f6b0]
lea rcx, [rsp + 0x68]
call fcn.18006a4c0
nop
mov r8d, 0xe
lea rdx, str._H3OPT_BITSET0
lea rcx, [rsp + 0x68]
call fcn.18006a3c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x108], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x118], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x108], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x118], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r9, [rbp + 0x108]
cmp qword [rbp + 0x120], 0xf
cmova r9, qword [rbp + 0x108]
mov r10, qword [rbp + 0x118]
add r10, r9
cmp r9, r10
je 0x1801482f0
nop dword [rax]
nop dword [rax + rax]
movzx r8d, byte [r9]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, ebx
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
inc r9
cmp r9, r10
jne 0x1801482c0
lea eax, [rbx + rbx*8]
mov edx, eax
shr edx, 0xb
xor edx, eax
imul edx, edx, 0x8001
mov r8d, 0x3e
mov rcx, rsi
call fcn.18015c0b0
nop
mov rdx, qword [rbp + 0x120]
cmp rdx, 0xf
jbe 0x18014834c
inc rdx
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180148347
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801483a0
call fcn.180357650
movdqa xmm0, xmmword [0x180509e00]
movdqu xmmword [rbp + 0x118], xmm0
mov byte [rbp + 0x108], 0
lea rcx, [rsp + 0x68]
call fcn.18006b8d0
nop
lea rcx, [rsp + 0x48]
call fcn.18006b8d0
mov rcx, qword [rbp + 0x128]
xor rcx, rsp
call fcn.180357630
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
nop
call fcn.18035e820
nop
call fcn.18006b090
int3