Function at 0x1802a6c50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x260]
sub rsp, 0x360
mov rax, qword [0x18050b500]
xor rax, rsp
mov qword [rbp + 0x250], rax
mov qword [rbp - 0x70], r8
mov dword [rbp - 0x40], edx
mov rdi, rcx
xor eax, eax
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x38], eax
mov r10, qword [rcx + 0x48]
mov r8, qword [rcx + 0x40]
mov rax, r10
sub rax, r8
cmp rax, 2
jb 0x1802a7c8c
mov rdx, r8
mov r8d, 4
lea r15d, [r8 + 4]
movzx r13d, byte [rdx]
movzx r12d, r13b
shr r12b, 7
mov byte [rsp + 0x30], r12b
mov byte [rsp + 0x6c], r12b
movzx esi, r13b
shr sil, 6
and sil, 1
mov byte [rsp + 0x6d], sil
movzx r11d, r13b
shr r11b, 5
and r11b, 1
mov byte [rsp + 0x6e], r11b
movzx ebx, r13b
shr bl, 4
and bl, 1
mov byte [rsp + 0x6f], bl
and r13d, 0xf
mov dword [rsp + 0x74], r13d
movzx r9d, byte [rdx + 1]
movzx eax, r9b
shr al, 7
movzx r14d, al
mov byte [rsp + 0x70], r14b
and r9d, 0x7f
mov dword [rsp + 0x78], r9d
xor ecx, ecx
cmp r9d, 0x7f
cmove ecx, r15d
mov eax, 2
cmp r9d, 0x7e
cmove eax, r8d
add ecx, eax
lea eax, [rcx + r14*4]
mov dword [rsp + 0x68], eax
mov rcx, r10
sub rcx, rdx
mov r8, rdx
cmp rcx, rax
jb 0x1802a7c8c
test sil, sil
je 0x1802a6d9c
movzx eax, byte [rdi + 0x20d]
nop
test al, al
je 0x1802a7d51
mov r9d, dword [rsp + 0x78]
mov r13d, dword [rsp + 0x74]
movzx r14d, byte [rsp + 0x70]
movzx ebx, byte [rsp + 0x6f]
movzx r11d, byte [rsp + 0x6e]
movzx r12d, byte [rsp + 0x6c]
mov byte [rsp + 0x30], r12b
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x34], eax
test r11b, r11b
jne 0x1802a7d51
test bl, bl
jne 0x1802a7d51
cmp r9d, 0x7e
jge 0x1802a6dcb
movsxd r15, r9d
mov eax, 2
lea ecx, [rax + 1]
lea r8d, [rax + 2]
lea r9d, [rax + 3]
jmp 0x1802a6e5a
jne 0x1802a6def
movzx r15d, byte [rdx + 2]
shl r15, 8
movzx eax, byte [rdx + 3]
or r15, rax
mov eax, 4
lea ecx, [rax + 1]
lea r8d, [rax + 2]
lea r9d, [rax + 3]
jmp 0x1802a6e5a
cmp r9d, 0x7f
jne 0x1802a7da0
movzx r15d, byte [rdx + 2]
shl r15, 8
movzx eax, byte [rdx + 3]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 4]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 5]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 6]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 7]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 8]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 9]
or r15, rax
lea eax, [r9 - 0x75]
lea ecx, [rax + 1]
lea r8d, [r9 - 0x73]
lea r9d, [rax + 3]
mov qword [rbp - 0x80], r15
test r14b, r14b
je 0x1802a6e83
movzx eax, byte [rdx + rax]
mov byte [rbp - 0x78], al
movzx eax, byte [rcx + rdx]
mov byte [rbp - 0x77], al
movzx eax, byte [r8 + rdx]
mov byte [rbp - 0x76], al
movzx eax, byte [rdx + r9]
mov byte [rbp - 0x75], al
jmp 0x1802a6e8a
mov dword [rbp - 0x78], 0
movabs rdx, 0x8000000000000000
cmp r15, rdx
ja 0x1802a7da0
mov rcx, qword [rdi + 0x48]
sub rcx, qword [rdi + 0x40]
mov ebx, dword [rsp + 0x68]
lea rax, [rbx + r15]
cmp rcx, rax
jb 0x1802a7da0
test r12b, r12b
jne 0x1802a6ec8
lea eax, [r13 - 8]
cmp eax, 2
jbe 0x1802a7cc8
test r14b, r14b
je 0x1802a6f07
xor edx, edx
test r15, r15
je 0x1802a6efd
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x40]
add rcx, rdx
mov rax, rdx
and eax, 3
movzx eax, byte [rbp + rax - 0x78]
xor byte [rcx + rbx], al
inc rdx
cmp rdx, r15
jne 0x1802a6ee0
movabs rdx, 0x8000000000000000
mov r12, qword [rdi + 0x40]
add r12, rbx
lea r14, [r12 + r15]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
cmp r12, r14
jne 0x1802a6f47
xor r12d, r12d
mov r8d, r12d
mov qword [rbp + 0x1c0], r12
mov r11d, 0xf
mov qword [rbp + 0x1c8], r11
mov byte [rbp + 0x1b0], r8b
jmp 0x1802a705e
sub r14, r12
mov qword [rbp + 0x1c0], 0
mov qword [rbp + 0x1c8], 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x1802a7dca
mov esi, 0xf
cmp r14, rsi
jbe 0x1802a7019
mov rsi, r14
or rsi, 0xf
cmp rsi, rax
jbe 0x1802a6f96
mov rsi, rax
lea rax, [rdx + 0x27]
jmp 0x1802a6fbd
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x1802a6fed
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1802a7dd0
mov rcx, rax
call fcn.180313d50
mov rcx, rax
test rax, rax
je 0x1802a7e2d
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1c8], rsi
jmp 0x1802a7020
test rcx, rcx
je 0x1802a7007
call fcn.180313d50
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1c8], rsi
jmp 0x1802a7020
xor eax, eax
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1c8], rsi
jmp 0x1802a7020
mov rax, qword [rbp + 0x1b0]
lea rbx, [rbp + 0x1b0]
cmp rsi, 0xf
cmova rbx, rax
mov r8, r14
mov rdx, r12
mov rcx, rbx
call fcn.1803bbf20
mov qword [rbp + 0x1c0], r14
mov byte [rbx + r14], 0
mov r11, qword [rbp + 0x1c8]
mov r8, qword [rbp + 0x1c0]
mov ebx, dword [rsp + 0x68]
xor r12d, r12d
lea eax, [r13 - 1]
cmp eax, 1
jbe 0x1802a776f
test r13d, r13d
je 0x1802a77e4
cmp r13d, 9
jne 0x1802a711e
cmp r8, 0x7d
ja 0x1802a7ceb
movzx eax, byte [rdi + 0x360]
nop
test al, al
je 0x1802a70e7
mov qword [rbp + 0x188], r12
lea rax, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 0xf
cmova rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x150]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 0
lea r9, [rbp + 0x18]
lea r8d, [r13 + 1]
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.1802a8680
nop
mov dword [rbp - 0x68], 2
mov byte [rsp + 0x40], 0
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 8], rax
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1802a7dd6
lea rdx, [rbp - 0x68]
lea r9, [rsp + 0x40]
lea r8, [rbp + 8]
jmp 0x1802a7164
cmp r13d, 0xa
jne 0x1802a7187
mov eax, 1
xchg byte [rdi + 0x368], al
mov dword [rbp - 0x60], 3
mov byte [rsp + 0x48], 0
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1802a7ddc
lea rdx, [rbp - 0x60]
lea r9, [rsp + 0x48]
lea r8, [rbp + 0x10]
mov qword [rsp + 0x20], rdx
mov rax, qword [rcx]
lea rdx, [rbp + 0x1b0]
call qword [rax + 0x10]
mov r15, qword [rbp - 0x80]
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x34], eax
jmp 0x1802a7c03
cmp r13d, 8
jne 0x1802a7747
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
mov r10, r12
mov qword [rbp + 0x1a0], r12
mov r9d, 0xf
mov qword [rbp + 0x1a8], r9
mov byte [rbp + 0x190], 0
cmp r15, 2
jb 0x1802a7513
mov rcx, qword [rdi + 0x40]
mov eax, dword [rsp + 0x68]
inc eax
movzx esi, byte [rbx + rcx]
shl si, 8
movzx eax, byte [rax + rcx]
or si, ax
cmp r15, 2
jbe 0x1802a72af
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x240], r12
mov qword [rbp + 0x248], r12
cmp r8, 2
jb 0x1802a7de8
lea rax, [r8 - 2]
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x1b0]
cmp r11, r9
cmova rdx, qword [rbp + 0x1b0]
add rdx, 2
lea rcx, [rbp + 0x230]
call fcn.180015d20
mov ebx, dword [rsp + 0x34]
or ebx, r13d
mov dword [rsp + 0x38], ebx
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0xf
jbe 0x1802a727e
inc rdx
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802a7279
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802a7de2
call fcn.180313c20
movups xmm0, xmmword [rbp + 0x230]
movups xmmword [rbp + 0x190], xmm0
movups xmm1, xmmword [rbp + 0x240]
movups xmmword [rbp + 0x1a0], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r9, xmm0
movq r10, xmm1
jmp 0x1802a72b3
mov ebx, dword [rsp + 0x34]
mov r8d, r12d
lea rax, [rbp + 0x190]
cmp r9, 0xf
seta dl
cmova rax, qword [rbp + 0x190]
lea r9, [rax + r10]
lea rax, [rbp + 0x190]
test dl, dl
cmovne rax, qword [rbp + 0x190]
cmp rax, r9
je 0x1802a7314
lea r10, [0x18046f4a0]
nop dword [rax]
movzx ecx, byte [rax]
movzx edx, byte [rcx + r10]
lea ecx, [r8 + 0x10]
shl ecx, 4
add ecx, edx
movzx r8d, byte [rcx + r10]
cmp r8d, 1
je 0x1802a7319
inc rax
cmp rax, r9
jne 0x1802a72f0
test r8d, r8d
je 0x1802a734a
movzx esi, word [0x18046eb38]
lea rdx, [0x180514350]
cmp qword [0x180514368], 0xf
cmova rdx, qword [0x180514350]
mov r8, qword [0x180514360]
lea rcx, [rbp + 0x190]
call fcn.180034f60
mov eax, 0x3e8
cmp si, ax
jb 0x1802a7381
mov eax, 0x3ec
cmp si, ax
je 0x1802a7381
mov eax, 0x3ee
cmp si, ax
je 0x1802a7381
movzx eax, si
mov ecx, 0x3f6
sub ax, cx
mov ecx, 0x7c1
cmp ax, cx
ja 0x1802a7544
mov edx, 1
lea rcx, [rbp + 0x50]
call fcn.18002d340
nop
lea rdx, [0x180514370]
cmp qword [0x180514388], 0xf
cmova rdx, qword [0x180514370]
mov r8, qword [0x180514380]
lea rcx, [rbp + 0x60]
call fcn.18004a450
lea rdx, [0x1804c24d8]
mov rcx, rax
call fcn.18003d490
mov rcx, rax
movzx edx, si
call fcn.18002ecd0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f0], xmm0
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x208], 0xf
mov byte [rbp + 0x1f0], 0
or ebx, 4
mov dword [rsp + 0x38], ebx
xor eax, eax
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rax
mov ecx, dword [rbp + 0xd8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x1802a7449
mov rax, qword [rbp + 0xa8]
mov r8, qword [rax]
test r8, r8
je 0x1802a7449
mov rax, qword [rbp + 0x88]
mov rdx, qword [rax]
mov qword [rbp - 0x38], rdx
cmp r8, qword [rbp + 0xd0]
cmovb r8, qword [rbp + 0xd0]
sub r8, rdx
mov qword [rbp - 0x30], r8
jmp 0x1802a7489
test cl, 4
jne 0x1802a7481
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax]
test rcx, rcx
je 0x1802a7481
mov rax, qword [rbp + 0x80]
mov rdx, qword [rax]
mov qword [rbp - 0x38], rdx
mov rax, qword [rbp + 0xb8]
movsxd r8, dword [rax]
add r8, rcx
sub r8, rdx
mov qword [rbp - 0x30], r8
jmp 0x1802a7489
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
test rdx, rdx
je 0x1802a749a
lea rcx, [rbp + 0x1f0]
call fcn.180034f60
and ebx, 0xfffffffb
or ebx, 2
mov dword [rsp + 0x38], ebx
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0xf
jbe 0x1802a74e5
inc rdx
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802a74e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802a7dee
call fcn.180313c20
movups xmm0, xmmword [rbp + 0x1f0]
movups xmmword [rbp + 0x190], xmm0
movups xmm1, xmmword [rbp + 0x200]
movups xmmword [rbp + 0x1a0], xmm1
movzx esi, word [0x18046eb30]
lea rcx, [rbp + 0x50]
call fcn.180016330
jmp 0x1802a7544
movzx esi, word [0x18046eb34]
lea rdx, [0x18050b150]
cmp qword [0x18050b168], 0xf
cmova rdx, qword [0x18050b150]
mov r8, qword [0x18050b160]
lea rcx, [rbp + 0x190]
call fcn.180034f60
mov eax, dword [rdi + 0x130]
nop
test eax, eax
je 0x1802a760a
mov eax, dword [rdi + 0x130]
nop
test eax, eax
je 0x1802a7567
mov eax, r12d
xchg dword [rdi + 0x130], eax
lea r8, [rbp + 0x190]
movzx edx, si
mov rcx, rdi
call fcn.1802a8470
mov rdx, qword [0x18046fba0]
mov rcx, rdi
call fcn.1802a93b0
mov r14, qword [rdi + 0x48]
sub r14, qword [rdi + 0x40]
mov rcx, rdi
call fcn.1802a55f0
lea rbx, [rdi + 0x198]
mov qword [rbp + 0x30], rbx
mov rcx, rbx
call fcn.1803132ac
test eax, eax
jne 0x1802a7e04
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x1802a7df4
lea rcx, [rdi + 0x178]
lea rax, [rbp + 0x190]
cmp rcx, rax
je 0x1802a75f8
lea rdx, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 0xf
cmova rdx, qword [rbp + 0x190]
mov r8, qword [rbp + 0x1a0]
call fcn.180034f60
nop
mov rcx, rbx
call fcn.1803132b4
mov eax, 1
jmp 0x1802a76cb
movzx eax, word [rdi + 0x1e8]
nop
cmp ax, si
jne 0x1802a76f5
mov rcx, rdi
call fcn.1802a80f0
lea rdx, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 0xf
cmova rdx, qword [rbp + 0x190]
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1802a7647
mov rcx, qword [rax]
mov r8, qword [rax + 0x10]
cmp r8, qword [rbp + 0x1a0]
jne 0x1802a76f5
call fcn.1803bbe20
test eax, eax
jne 0x1802a76f5
mov r14, qword [rdi + 0x48]
sub r14, qword [rdi + 0x40]
mov rcx, rdi
call fcn.1802a55f0
lea rbx, [rdi + 0x198]
mov qword [rbp + 0x28], rbx
mov rcx, rbx
call fcn.18000cc80
nop
lea rcx, [rdi + 0x178]
lea rax, [rbp + 0x190]
cmp rcx, rax
je 0x1802a76c0
lea rdx, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 0xf
cmova rdx, qword [rbp + 0x190]
mov r8, qword [rbp + 0x1a0]
call fcn.180034f60
nop
mov rcx, rbx
call fcn.1803132b4
mov eax, r12d
xchg word [rdi + 0x1e8], si
xchg qword [rdi + 0x1f0], r14
xchg byte [rdi + 0x1f8], al
mov edx, 1
mov rcx, rdi
call fcn.1802a9260
mov eax, r12d
xchg byte [rdi + 0x300], al
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0xf
jbe 0x1802a7736
inc rdx
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802a7731
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802a7e0f
call fcn.180313c20
mov r15, qword [rbp - 0x80]
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x34], eax
jmp 0x1802a7c03
mov r9, qword [rdi + 0x48]
sub r9, qword [rdi + 0x40]
mov byte [rsp + 0x20], 0
lea r8, [0x18050b130]
movzx edx, word [0x18046eb30]
mov rcx, rdi
call fcn.1802a54d0
jmp 0x1802a7c03
test r13d, r13d
je 0x1802a77e4
mov eax, r12d
cmp r13d, 1
setne al
mov dword [rdi + 0xd0], eax
movzx eax, byte [rdi + 0x20d]
nop
test al, al
je 0x1802a779b
cmp byte [rsp + 0x6d], 0
je 0x1802a779b
mov al, 1
jmp 0x1802a779d
xor al, al
mov byte [rdi + 0xd4], al
lea rbx, [rdi + 0xc8]
cmp qword [rbx], 0
je 0x1802a77ce
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x180514290]
movzx edx, word [0x18046eb30]
mov rcx, rdi
call fcn.1802a54d0
mov r15, qword [rbp - 0x80]
movzx r14d, byte [rsp + 0x6c]
mov r12d, dword [rsp + 0x38]
mov dword [rsp + 0x34], r12d
jmp 0x1802a781a
lea rbx, [rdi + 0xc8]
cmp qword [rbx], 0
jne 0x1802a780f
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1805142d0]
movzx edx, word [0x18046eb30]
mov rcx, rdi
call fcn.1802a54d0
mov r12d, dword [rsp + 0x34]
movzx r14d, byte [rsp + 0x30]
test r14b, r14b
je 0x1802a7857
cmp qword [rbx], 0
jne 0x1802a7857
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rdi + 0xd4]
lea r8, [rbp + 0x1b0]
mov edx, dword [rdi + 0xd0]
mov rcx, rdi
call fcn.1802a7e50
mov byte [rdi + 0xd4], 0
jmp 0x1802a7c03
lea r13, [rdi + 0xc0]
mov rsi, qword [r13]
movabs rax, 0x555555555555555
cmp qword [r13 + 8], rax
je 0x1802a7e39
mov qword [rbp - 8], r13
mov qword [rbp], 0
mov ecx, 0x30
call fcn.180313d50
mov rbx, rax
mov qword [rbp], rax
lea rcx, [rax + 0x10]
lea rdx, [rbp + 0x1b0]
call fcn.18002ff50
nop
inc qword [r13 + 8]
mov rcx, qword [rsi + 8]
mov qword [rbx], rsi
mov qword [rbx + 8], rcx
xor r9d, r9d
mov qword [rbp], r9
mov qword [rsi + 8], rbx
mov qword [rcx], rbx
test r14b, r14b
je 0x1802a7b5e
mov edx, r9d
mov r8, qword [r13]
mov rax, qword [r8]
cmp rax, r8
je 0x1802a78ef
nop dword [rax]
add rdx, qword [rax + 0x20]
mov rcx, qword [rax]
mov rax, rcx
cmp rcx, r8
jne 0x1802a78e0
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d0], xmm0
mov rsi, r9
mov qword [rbp + 0x1e0], r9
mov ecx, 0xf
mov qword [rbp + 0x1e8], rcx
mov byte [rbp + 0x1d0], sil
or r12d, 1
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x38], r12d
cmp rdx, 0x10
jb 0x1802a7947
xor r8d, r8d
lea rcx, [rbp + 0x1d0]
call fcn.1800fd330
mov qword [rbp + 0x1e0], rsi
mov rcx, qword [rbp + 0x1e8]
mov r12, qword [r13]
mov rbx, qword [r12]
cmp rbx, r12
je 0x1802a79e9
nop dword [rax + rax]
lea r9, [rbx + 0x10]
cmp qword [rbx + 0x28], 0xf
jbe 0x1802a796f
mov r9, qword [rbx + 0x10]
mov r14, qword [rbx + 0x20]
mov rax, rcx
sub rax, rsi
cmp r14, rax
ja 0x1802a79b4
lea rax, [r14 + rsi]
mov qword [rbp + 0x1e0], rax
lea rax, [rbp + 0x1d0]
cmp rcx, 0xf
cmova rax, qword [rbp + 0x1d0]
add rsi, rax
mov r8, r14
mov rdx, r9
mov rcx, rsi
call fcn.1803bbf20
mov byte [r14 + rsi], 0
jmp 0x1802a79cb
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0x1d0]
call fcn.1800fd1a0
mov rax, qword [rbx]
mov rbx, rax
mov rsi, qword [rbp + 0x1e0]
cmp rax, r12
je 0x1802a79e9
mov rcx, qword [rbp + 0x1e8]
jmp 0x1802a7960
mov ebx, dword [rdi + 0xd0]
cmp byte [rdi + 0xd4], 0
je 0x1802a7a6f
cmp ebx, 4
je 0x1802a7aa3
lea r8, [rdi + 0x210]
lea rdx, [rbp + 0x1d0]
mov rcx, qword [rdi + 0x200]
call fcn.1802a9fc0
movzx r14d, al
test ebx, ebx
jne 0x1802a7a33
lea rcx, [rdi + 0x210]
call fcn.1802a24b0
test al, al
je 0x1802a7a83
mov dword [rbp - 0x58], ebx
xor r14b, 1
mov byte [rsp + 0x50], r14b
mov qword [rbp - 0x20], rsi
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1802a7e15
lea rdx, [rbp - 0x58]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x50]
lea r8, [rbp - 0x20]
lea rdx, [rdi + 0x210]
jmp 0x1802a7ad9
test ebx, ebx
jne 0x1802a7aa3
lea rcx, [rbp + 0x1d0]
call fcn.1802a24b0
test al, al
jne 0x1802a7aa3
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x180514350]
movzx edx, word [0x18046eb38]
mov rcx, rdi
call fcn.1802a54d0
jmp 0x1802a7adf
mov dword [rbp - 0x50], ebx
mov byte [rsp + 0x58], 0
mov qword [rbp - 0x18], rsi
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1802a7e21
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x58]
lea r8, [rbp - 0x18]
lea rdx, [rbp + 0x1d0]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, dword [rsp + 0x34]
and eax, 0xfffffffe
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x38], eax
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 0xf
jbe 0x1802a7b2f
inc rdx
mov rcx, qword [rbp + 0x1d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802a7b2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802a7e1b
call fcn.180313c20
mov rdx, qword [r13]
mov rcx, r13
call fcn.18008cd30
mov rax, qword [r13]
mov qword [rax], rax
mov rax, qword [r13]
mov qword [rax + 8], rax
mov qword [r13 + 8], 0
mov byte [rdi + 0xd4], 0
jmp 0x1802a7c03
xorps xmm0, xmm0
movups xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x220], r9
mov qword [rbp + 0x228], 0xf
mov byte [rbp + 0x210], r9b
mov dword [rbp - 0x48], 4
mov byte [rsp + 0x60], 0
mov qword [rbp - 0x10], r9
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1802a7e33
mov rax, qword [rcx]
lea rdx, [rbp - 0x48]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x60]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x210]
call qword [rax + 0x10]
nop
mov rdx, qword [rbp + 0x228]
cmp rdx, 0xf
jbe 0x1802a7c03
inc rdx
mov rcx, qword [rbp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802a7bfe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802a7e27
call fcn.180313c20
mov edx, dword [rsp + 0x68]
mov rsi, qword [rdi + 0x40]
add rdx, rsi
add rdx, r15
cmp rsi, rdx
je 0x1802a7c30
mov rbx, qword [rdi + 0x48]
sub rbx, rdx
mov r8, rbx
mov rcx, rsi
call fcn.1803bbf20
lea rax, [rbx + rsi]
mov qword [rdi + 0x48], rax
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 0xf
jbe 0x1802a7c71
inc rdx
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802a7c6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802a7e2d
call fcn.180313c20
mov r10, qword [rdi + 0x48]
mov r8, qword [rdi + 0x40]
mov rdx, r8
mov rax, r10
sub rax, r8
cmp rax, 2
jae 0x1802a6caf
cmp dword [rbp - 0x40], 0
je 0x1802a7da0
cmp r8, r10
je 0x1802a7c9f
mov qword [rdi + 0x48], r8
mov eax, dword [rdi + 0x130]
nop
test eax, eax
jne 0x1802a7d76
mov rcx, rdi
call fcn.1802a55f0
mov edx, 1
mov rcx, rdi
call fcn.1802a9260
jmp 0x1802a7da0
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x180514330]
movzx edx, word [0x18046eb30]
mov rcx, rdi
call fcn.1802a54d0
jmp 0x1802a7da0
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1805142b0]
movzx edx, word [0x18046eb30]
mov rcx, rdi
call fcn.1802a54d0
nop
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 0xf
jbe 0x1802a7da0
inc rdx
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802a7d4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802a7e2d
call fcn.180313c20
jmp 0x1802a7da0
mov r9, qword [rdi + 0x48]
sub r9, qword [rdi + 0x40]
mov byte [rsp + 0x20], 0
lea r8, [0x1805142f0]
movzx edx, word [0x18046eb30]
mov rcx, rdi
call fcn.1802a54d0
jmp 0x1802a7da0
mov eax, dword [rdi + 0x130]
nop
cmp eax, 1
je 0x1802a7da0
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x180514310]
movzx edx, word [0x18046eb2c]
mov rcx, rdi
call fcn.1802a5660
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.180313c00
mov rbx, qword [rsp + 0x3a8]
add rsp, 0x360
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18000b990
int3
call fcn.18000b8f0
nop
call fcn.180312800
nop
call fcn.180312800
nop
call fcn.180329f88
int3
call fcn.180037cc0
nop
call fcn.180329f88
nop
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call fcn.1803126c0
int3
mov ecx, 5
call fcn.1803126c0
nop
call fcn.180329f88
nop
call fcn.180312800
nop
call fcn.180329f88
nop
call fcn.180312800
nop
call fcn.180329f88
nop
call fcn.180329f88
nop
call fcn.180312800
nop
lea rcx, [0x1804c46f8]
call fcn.180312844
int3