Function at 0x18003f480
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov rax, qword [0x1801c1038]
xor rax, rsp
mov qword [rbp + 0xf0], rax
xor r12d, r12d
mov r13d, r12d
mov dword [rbp - 0x78], r12d
call fcn.18003d290
mov rdi, rax
mov qword [rbp - 0x20], rax
mov rcx, rax
call fcn.18003d130
mov rsi, rax
mov qword [rbp - 0x28], rax
mov ebx, r12d
mov dword [rbp - 0x7c], ebx
mov rcx, rdi
call fcn.18003cfd0
test rax, rax
je 0x180040234
mov edi, r12d
mov qword [rbp - 0x48], r12
nop dword [rax + rax]
mov rax, qword [rsi + rdi*8]
mov r14, qword [rax]
mov qword [rbp - 0x30], r14
mov edi, r12d
mov dword [rbp - 0x80], r12d
mov rcx, r14
call fcn.18003cd10
test rax, rax
je 0x18004020f
mov rbx, r12
nop word [rax + rax]
mov rdx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], r12
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x18003f552
lea rcx, [rbp + 0xb0]
call fcn.180006a20
nop
mov rdx, rbx
mov rcx, r14
call fcn.18003ce40
mov r15, rax
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x18003f585
jmp 0x1800401e3
mov rsi, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x18003f5b0
mov rdx, rdi
lea rcx, [rbp + 0x90]
call fcn.180006a20
cmp qword [rbp + 0xa0], 0
sete bl
lea rcx, [rbp + 0x90]
call fcn.1800060f0
xor edx, edx
test bl, bl
je 0x18003f6f2
mov byte [rsp + 0x40], 0x62
mov al, 0x58
movzx ecx, al
xor al, 0x62
mov byte [rsp + 0x41], al
xor cl, 0x62
mov byte [rsp + 0x42], cl
mov byte [rsp + 0x43], dl
lea r8, [rsp + 0x41]
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.1800744a0
nop
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x18003f623
mov rdx, rsi
mov rcx, rax
call fcn.1800063c0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
movups xmmword [rbp + 0xa0], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
bts r13d, 0xb
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x18003f6b4
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f6a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004027a
call fcn.1800d0380
movups xmm0, xmmword [rbp - 0x40]
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm1
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], dil
lea rcx, [rbp + 0x90]
call fcn.1800060f0
nop
lea rcx, [rsp + 0x60]
jmp 0x18003f8d8
mov byte [rsp + 0x38], 7
mov al, 0x3d
movzx ecx, al
xor al, 7
mov byte [rsp + 0x39], al
xor cl, 7
mov byte [rsp + 0x3a], cl
mov byte [rsp + 0x3b], dl
mov byte [rsp + 0x44], 0x44
mov al, 0x7e
movzx ecx, al
xor al, 0x44
mov byte [rsp + 0x45], al
xor cl, 0x44
mov byte [rsp + 0x46], cl
mov byte [rsp + 0x47], dl
lea r8, [rsp + 0x45]
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x18]
call fcn.1800744a0
nop
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x18003f745
mov rdx, rdi
mov rcx, rax
call fcn.1800063c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xor edi, edi
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x60], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
bts r13d, 9
lea rax, [rsp + 0x39]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18003f7a0
lea rdx, [rsp + 0x39]
lea rcx, [rbp + 0x50]
call fcn.1800063c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xa0], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rsi + r8], 0
jne 0x18003f800
mov rdx, rsi
lea rcx, [rbp + 0x90]
call fcn.1800063c0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r13d, 0x500
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x18003f891
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f884
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180040280
call fcn.1800d0380
movups xmm0, xmmword [rbp - 0x70]
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm1
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
lea rcx, [rsp + 0x60]
call fcn.1800060f0
nop
lea rcx, [rbp + 0x90]
call fcn.1800060f0
nop
lea rcx, [rbp + 0x50]
call fcn.1800060f0
nop
lea rcx, [rbp + 0x18]
call fcn.1800060f0
mov qword [rbp + 0x48], rdi
lea rdx, [rbp + 0x48]
mov rcx, r15
call fcn.18003cb00
mov r12, rax
test rax, rax
je 0x1800401dd
nop dword [rax]
mov rcx, r12
call fcn.18003c7a0
mov rbx, rax
mov byte [rsp + 0x48], 0x64
mov cl, 0x5e
movzx edx, cl
xor eax, eax
xor cl, 0x64
mov byte [rsp + 0x49], cl
xor dl, 0x64
mov byte [rsp + 0x4a], dl
mov byte [rsp + 0x4b], al
lea r8, [rsp + 0x49]
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x18]
call fcn.1800744a0
nop
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x18003f946
mov rdx, rbx
mov rcx, rax
call fcn.1800063c0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x80], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r13d, 0x20
lea rcx, [rbp + 0x18]
call fcn.1800060f0
mov rcx, r12
call fcn.18003c440
test eax, eax
je 0x18003ff0c
mov byte [rsp + 0x3c], 0x41
mov al, 0x69
xor ecx, ecx
xor al, 0x41
mov byte [rsp + 0x3d], al
mov byte [rsp + 0x3e], cl
lea r8, [rsp + 0x3d]
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x60]
call fcn.1800744a0
mov rbx, rax
lea rax, [rbp + 0x70]
cmp rax, rbx
je 0x18003fa2a
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x18003fa09
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003fa04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180040286
call fcn.1800d0380
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x80], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rsp + 0x60]
call fcn.1800060f0
mov r14d, edi
mov rcx, r12
call fcn.18003c440
test eax, eax
je 0x18003fca9
nop word [rax + rax]
mov edx, r14d
mov rcx, r12
call fcn.18003c6a0
mov rcx, rax
call fcn.18003c380
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], rdi
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18003fa80
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.180006a20
nop
mov byte [rsp + 0x30], 0x4f
mov al, 0x61
xor ecx, ecx
xor al, 0x4f
mov byte [rsp + 0x31], al
mov byte [rsp + 0x32], cl
lea rcx, [rsp + 0x31]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x18003fab6
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
setae sil
mov rdi, qword [rbp + 0x50]
cmovae rcx, rdi
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x31]
mov rbx, qword [rbp + 0x60]
mov rdx, rbx
call fcn.180075b20
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xor eax, eax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
cmp rbx, rcx
jb 0x180040298
sub rbx, rcx
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
lea rdx, [rbp + 0x50]
test sil, sil
cmovne rdx, rdi
add rdx, rcx
lea rcx, [rbp - 0x70]
call fcn.180006a20
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x18003fb6b
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003fb66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004028c
call fcn.1800d0380
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rbp + 0x60], xmm1
xor edi, edi
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], dil
lea rcx, [rbp - 0x70]
call fcn.1800060f0
mov byte [rsp + 0x34], 0x5a
mov al, 0x76
xor ecx, ecx
xor al, 0x5a
mov byte [rsp + 0x35], al
mov byte [rsp + 0x36], cl
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 8]
call fcn.180074600
nop
lea rcx, [rsp + 0x35]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rcx + r8], 0
jne 0x18003fbd0
lea rdx, [rsp + 0x35]
mov rcx, rax
call fcn.1800063c0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r13d, 0x18
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x18003fc59
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003fc4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180040292
call fcn.1800d0380
movups xmm0, xmmword [rbp - 0x70]
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm1
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
lea rcx, [rsp + 0x60]
call fcn.1800060f0
nop
lea rcx, [rbp - 8]
call fcn.1800060f0
nop
lea rcx, [rbp + 0x50]
call fcn.1800060f0
inc r14d
mov rcx, r12
call fcn.18003c440
cmp r14d, eax
jb 0x18003fa50
mov rcx, r12
call fcn.18003c570
mov rcx, rax
call fcn.18003c380
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], rdi
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18003fce0
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.180006a20
nop
mov rax, qword [rbp + 0x80]
lea r8, [rax - 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], rdi
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
cmovae rdx, qword [rbp + 0x70]
lea rcx, [rbp + 0x50]
call fcn.180006a20
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x18003fd73
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003fd6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004029e
call fcn.1800d0380
movups xmm0, xmmword [rbp + 0x50]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0x60]
movups xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
lea rcx, [rbp + 0x50]
call fcn.1800060f0
lea rcx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 0x10
setae sil
mov rdi, qword [rbp + 0x90]
cmovae rcx, rdi
mov qword [rsp + 0x20], 1
lea r9, [0x1801a262c]
mov rbx, qword [rbp + 0xa0]
mov rdx, rbx
call fcn.180075b20
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
cmp rbx, rcx
jb 0x1800402aa
sub rbx, rcx
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
lea rdx, [rbp + 0x90]
test sil, sil
cmovne rdx, rdi
add rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.180006a20
nop
mov byte [rsp + 0x4c], 0x5c
mov al, 0x75
mov cl, 0x66
mov dl, 0x7c
xor r8d, r8d
xor al, 0x5c
mov byte [rsp + 0x4d], al
xor cl, 0x5c
mov byte [rsp + 0x4e], cl
xor dl, 0x5c
mov byte [rsp + 0x4f], dl
mov byte [rsp + 0x50], r8b
lea r8, [rsp + 0x4d]
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 8]
call fcn.1800744a0
nop
lea r9, [rsp + 0x60]
mov r8, rax
lea rcx, [rbp + 0x50]
call fcn.1800763c0
or r13d, 7
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x18003feb7
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003feb2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800402a4
call fcn.1800d0380
movups xmm0, xmmword [rbp + 0x50]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0x60]
movups xmmword [rbp + 0x80], xmm1
xor edi, edi
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], dil
lea rcx, [rbp + 0x50]
call fcn.1800060f0
nop
lea rcx, [rbp - 8]
call fcn.1800060f0
nop
lea rcx, [rsp + 0x60]
call fcn.1800060f0
nop
lea rcx, [rbp + 0x90]
call fcn.1800060f0
jmp 0x180040129
mov rcx, r12
call fcn.18003c570
mov rcx, rax
call fcn.18003c380
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0xe8], rdi
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18003ff40
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.180006a20
nop
lea rbx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
setae r15b
mov r14, qword [rbp + 0xd0]
cmovae rbx, r14
mov rsi, qword [rbp + 0xe0]
cmp rsi, 1
jb 0x18003ffd3
lea rdi, [rsi + rbx]
mov r8, rsi
mov edx, 0x2e
mov rcx, rbx
call fcn.18013c590
test rax, rax
je 0x18003ffd1
nop
cmp byte [rax], 0x2e
jne 0x18003ffa9
xor ecx, ecx
jmp 0x18003ffae
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x180040264
inc rax
mov r8, rdi
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call fcn.18013c590
test rax, rax
jne 0x18003ffa0
xor edi, edi
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
cmp rsi, rcx
jb 0x180040274
sub rsi, rcx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0xd0]
test r15b, r15b
cmovne rdx, r14
add rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.180006a20
nop
mov byte [rsp + 0x54], 0x31
mov al, 0x19
mov cl, 0x18
mov dl, 0xb
mov r8b, 0x11
xor r9d, r9d
xor al, 0x31
mov byte [rsp + 0x55], al
xor cl, 0x31
mov byte [rsp + 0x56], cl
xor dl, 0x31
mov byte [rsp + 0x57], dl
xor r8b, 0x31
mov byte [rsp + 0x58], r8b
mov byte [rsp + 0x59], r9b
lea r8, [rsp + 0x55]
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 8]
call fcn.1800744a0
nop
lea r9, [rsp + 0x60]
mov r8, rax
lea rcx, [rbp + 0x90]
call fcn.1800763c0
or r13d, 0xc0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x1800400c5
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800400c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004026e
call fcn.1800d0380
movups xmm0, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0xa0]
movups xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
lea rcx, [rbp + 0x90]
call fcn.1800060f0
nop
lea rcx, [rbp - 8]
call fcn.1800060f0
nop
lea rcx, [rsp + 0x60]
call fcn.1800060f0
nop
lea rcx, [rbp + 0xd0]
call fcn.1800060f0
mov r15, qword [rbp - 0x50]
lea rcx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
setae r9b
mov rdx, qword [rbp + 0x70]
cmovae rcx, rdx
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180040150
lea r8, [rbp + 0x70]
test r9b, r9b
cmovne r8, rdx
mov edx, 0xffffffff
test eax, eax
je 0x1800401a1
mov r9d, eax
lea r15, [0x18019d290]
nop word [rax + rax]
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
movzx eax, cl
shr edx, 8
xor edx, dword [r15 + rax*4]
lea r8, [r8 + 1]
sub r9, 1
jne 0x180040180
mov r15, qword [rbp - 0x50]
not edx
mov dword [rbp - 0x18], edx
mov qword [rbp - 0x10], r12
lea r8, [rbp - 0x18]
lea rdx, [rbp + 0x38]
call fcn.1800747d0
nop
lea rcx, [rbp + 0x70]
call fcn.1800060f0
lea rdx, [rbp + 0x48]
mov rcx, r15
call fcn.18003cb00
mov r12, rax
test rax, rax
jne 0x18003f900
mov r14, qword [rbp - 0x30]
mov edi, dword [rbp - 0x80]
xor r12d, r12d
lea rcx, [rbp + 0xb0]
call fcn.1800060f0
inc edi
mov dword [rbp - 0x80], edi
movsxd rbx, edi
mov rcx, r14
call fcn.18003cd10
cmp rbx, rax
jb 0x18003f530
mov ebx, dword [rbp - 0x7c]
mov rsi, qword [rbp - 0x28]
inc ebx
mov dword [rbp - 0x7c], ebx
mov rdi, qword [rbp - 0x48]
inc rdi
mov qword [rbp - 0x48], rdi
mov rcx, qword [rbp - 0x20]
call fcn.18003cfd0
movsxd rcx, ebx
cmp rcx, rax
jb 0x18003f500
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1800d0360
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
sub rax, rbx
xor edi, edi
jmp 0x18003ffda
call fcn.18014a69c
nop
call fcn.18000a850
nop
call fcn.18014a69c
nop
call fcn.18014a69c
nop
call fcn.18014a69c
nop
call fcn.18014a69c
nop
call fcn.18014a69c
nop
call fcn.18000a850
nop
call fcn.18014a69c
nop
call fcn.18014a69c
nop
call fcn.18000a850
int3