Function at 0x140003760
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x14007d0e0]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rbx, rdx
mov qword [rbp - 0x78], rdx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
call fcn.140004280
mov rdx, rax
cmp byte [rax + 0x51], r13b
je 0x14000381d
movdqa xmm2, xmmword [str.................HZrmWZAIOFW.kVMKZGA_]
movdqu xmm0, xmmword [rax]
pxor xmm0, xmm2
movdqu xmmword [rax], xmm0
movdqu xmm0, xmmword [rax + 0x10]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
movdqu xmm0, xmmword [rax + 0x20]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rax + 0x20], xmm1
movdqu xmm0, xmmword [rax + 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax + 0x30], xmm2
add rax, 0x40
mov ecx, 0x12
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0x2e
lea rax, [rax + 1]
sub rcx, 1
jne 0x140003810
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], r13b
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r13b
jne 0x140003834
lea rcx, [rbp + 0x30]
call fcn.14000a440
nop
mov r12d, 4
mov rax, qword gs:[0x58]
add r12, qword [rax]
mov eax, dword [r12]
cmp dword [0x140080ad8], eax
jle 0x1400038ad
lea rcx, [0x140080ad8]
call fcn.140034dc4
cmp dword [0x140080ad8], 0xffffffff
jne 0x1400038ad
mov dword [0x140080ba8], 0xe100e
mov dword [0x140080bac], 0x5e434b5a
mov byte [0x140080bb0], 0x2e
lea rcx, [0x140061790]
call fcn.140035148
lea rcx, [0x140080ad8]
call fcn.140034d64
movzx eax, byte [0x140080bb0]
test al, al
je 0x1400038f8
xor byte [0x140080ba8], 0x2e
xor byte [0x140080ba9], 0x2e
xor byte [0x140080baa], 0x2e
xor byte [0x140080bab], 0x2e
xor byte [0x140080bac], 0x2e
xor byte [0x140080bad], 0x2e
xor byte [0x140080bae], 0x2e
xor byte [0x140080baf], 0x2e
xor al, 0x2e
mov byte [0x140080bb0], al
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
lea rdx, [0x140080ba8]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140003920
lea rcx, [rsp + 0x58]
call fcn.14000a440
nop
lea rsi, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rsi, qword [rbp + 0x30]
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
sub rax, r8
mov r14, qword [rbp + 0x40]
cmp r14, rax
ja 0x1400039d5
lea rax, [r8 + r14]
mov qword [rsp + 0x68], rax
lea rdi, [rsp + 0x58]
cmp rcx, 0x10
cmovae rdi, qword [rsp + 0x58]
lea rax, [rsi + r14]
cmp rax, rdi
jbe 0x140003998
lea rax, [rdi + r8]
cmp rsi, rax
ja 0x140003998
cmp rdi, rsi
ja 0x140003990
mov r15, r13
jmp 0x14000399b
mov r15, rdi
sub r15, rsi
jmp 0x14000399b
mov r15, r14
lea rcx, [rdi + r14]
inc r8
mov rdx, rdi
call fcn.140036d00
mov r8, r15
mov rdx, rsi
mov rcx, rdi
call fcn.140036d00
lea rcx, [rdi + r15]
mov r8, r14
sub r8, r15
lea rdx, [r15 + rsi]
add rdx, r14
call fcn.140036d00
lea rax, [rsp + 0x58]
jmp 0x1400039ec
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.14000c320
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x48], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r14d, 2
mov dword [rsp + 0x30], r14d
lea rcx, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae rcx, qword [rsp + 0x38]
call fcn.14003df7c
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x140003a6a
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003a65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004257
call fcn.140034c64
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x140003aba
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003ab5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000425d
call fcn.140034c64
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x50]
call fcn.140037190
mov eax, dword [r12]
cmp dword [0x140080b10], eax
jle 0x140003b17
lea rcx, [0x140080b10]
call fcn.140034dc4
cmp dword [0x140080b10], 0xffffffff
jne 0x140003b17
mov dword [0x140080be4], 0x434b5a00
mov word [0x140080be8], 0x2e5e
lea rcx, [0x140061770]
call fcn.140035148
lea rcx, [0x140080b10]
call fcn.140034d64
movzx eax, byte [0x140080be9]
test al, al
je 0x140003b4d
xor byte [0x140080be4], 0x2e
xor byte [0x140080be5], 0x2e
xor byte [0x140080be6], 0x2e
xor byte [0x140080be7], 0x2e
xor byte [0x140080be8], 0x2e
xor al, 0x2e
mov byte [0x140080be9], al
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
lea rdx, [0x140080be4]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x140003b70
lea rcx, [rsp + 0x38]
call fcn.14000a440
nop
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae rdx, qword [rsp + 0x38]
lea rcx, [rbp + 0x50]
call fcn.140009b10
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x50], r15
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x4c], edx
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x140003c02
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003bfd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004263
call fcn.140034c64
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
mov r8d, r14d
xor edx, edx
lea rcx, [rbp + 0x50]
call fcn.140007f00
lea rax, [rbp + 0x50]
mov qword [rsp + 0x78], rax
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx + 0x98]
test rcx, rcx
je 0x140003c48
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x50]
call fcn.14000a8e0
mov byte [rbp - 0x80], al
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx + 0x60], 6
jne 0x140003c9a
mov rcx, qword [rbp + rcx + 0x98]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 1
mov r9d, 1
xor r8d, r8d
lea rdx, [rsp + 0x58]
call qword [rax + 0x50]
nop
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx + 0x98]
jmp 0x140003cb7
mov qword [rsp + 0x58], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movsxd rax, dword [rax + 4]
mov rcx, qword [rbp + rax + 0x98]
test rcx, rcx
je 0x140003cc3
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rsi, qword [rsp + 0x58]
add rsi, qword [rsp + 0x60]
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
mov eax, dword [rbp + rcx + 0x60]
lea r9, [rbp + 0x50]
add rcx, r9
mov edx, 4
cmp qword [rcx + 0x48], 0
cmovne edx, r13d
and eax, 0xfffffffe
or edx, eax
xor r8d, r8d
call fcn.1400029a0
lea rax, [rbp + 0x50]
mov qword [rsp + 0x78], rax
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx + 0x98]
test rcx, rcx
je 0x140003d20
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x50]
call fcn.14000a8e0
mov byte [rbp - 0x80], al
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
mov edi, 6
test byte [rbp + rcx + 0x60], dil
jne 0x140003d97
mov rcx, qword [rbp + rcx + 0x98]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov r8, r14
lea rdx, [rsp + 0x58]
call qword [rax + 0x50]
mov rcx, qword [rsp + 0x60]
add rcx, qword [rsp + 0x58]
cmp rcx, 0xffffffffffffffff
jne 0x140003d97
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x50]
add rcx, rax
mov edx, edi
cmp qword [rcx + 0x48], 0
cmovne edx, r14d
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.1400029a0
nop
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx + 0x98]
test rcx, rcx
je 0x140003db3
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x28], 7
mov word [rbp + 0x10], r13w
lea rdx, [rsi - 2]
shr rdx, 1
inc rdx
lea rcx, [rbp + 0x10]
call fcn.14000a0f0
nop
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rdx, qword [rbp + 0x10]
lea r8, [rsi - 2]
lea rcx, [rbp + 0x50]
call fcn.140008000
lea rcx, [rbp + 0x60]
call fcn.140009a10
test rax, rax
jne 0x140003e26
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x50]
add rcx, rax
cmp qword [rcx + 0x48], 0
cmovne edi, r14d
or edi, dword [rcx + 0x10]
xor r8d, r8d
mov edx, edi
call fcn.1400029a0
mov eax, dword [r12]
cmp dword [0x140080b04], eax
jle 0x140003e72
lea rcx, [0x140080b04]
call fcn.140034dc4
cmp dword [0x140080b04], 0xffffffff
jne 0x140003e72
mov dword [0x140080bb4], 0x434b5a00
mov word [0x140080bb8], 0x2e5e
lea rcx, [0x140061750]
call fcn.140035148
lea rcx, [0x140080b04]
call fcn.140034d64
movzx eax, byte [0x140080bb9]
test al, al
je 0x140003ea8
xor byte [0x140080bb4], 0x2e
xor byte [0x140080bb5], 0x2e
xor byte [0x140080bb6], 0x2e
xor byte [0x140080bb7], 0x2e
xor byte [0x140080bb8], 0x2e
xor al, 0x2e
mov byte [0x140080bb9], al
lea rcx, [0x140080bb4]
call fcn.14003b530
lea rcx, [rbp - 0x70]
call fcn.140006dd0
mov rcx, rax
lea r8, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae r8, qword [rbp + 0x10]
mov rax, qword [rbp + 0x20]
lea r9, [r8 + rax*2]
mov rdx, rbx
call fcn.1400093d0
mov dword [rsp + 0x30], 7
lea rcx, [rbp - 0x70]
call fcn.140006ce0
mov rsi, rbx
mov r14, qword [rbx + 0x18]
cmp r14, 0x10
jb 0x140003eff
mov rsi, qword [rbx]
mov rdi, qword [rbx + 0x10]
test rdi, rdi
je 0x140003f22
mov r8, rdi
mov edx, 0xa
mov rcx, rsi
call fcn.1400370f0
test rax, rax
je 0x140003f22
sub rax, rsi
jmp 0x140003f29
mov rax, 0xffffffffffffffff
inc rax
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
cmp rdi, rax
jb 0x140004269
sub rdi, rax
mov r8, 0xffffffffffffffff
cmp rdi, r8
cmovb r8, rdi
mov rcx, rbx
cmp r14, 0x10
jb 0x140003f65
mov rcx, qword [rbx]
lea rdx, [rcx + rax]
lea rcx, [rsp + 0x38]
call fcn.14000a440
mov dword [rsp + 0x30], 0xf
lea rax, [rsp + 0x38]
cmp rbx, rax
je 0x140003fdd
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140003fbf
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140003fba
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000426f
mov rcx, r8
call fcn.140034c64
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbx + 0x10], xmm1
jmp 0x14000401a
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x14000401a
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004015
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000426f
call fcn.140034c64
mov rsi, rbx
mov r14, qword [rbx + 0x18]
cmp r14, 0x10
jb 0x14000402a
mov rsi, qword [rbx]
mov rdi, qword [rbx + 0x10]
test rdi, rdi
je 0x14000404d
mov r8, rdi
mov edx, 0xd
mov rcx, rsi
call fcn.1400370f0
test rax, rax
je 0x14000404d
sub rax, rsi
jmp 0x140004054
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
lea r8, [rax - 2]
cmp rdi, r8
cmovb r8, rdi
mov rdx, rbx
cmp r14, 0x10
jb 0x14000407e
mov rdx, qword [rbx]
lea rcx, [rsp + 0x38]
call fcn.14000a440
mov dword [rsp + 0x30], 0x1f
lea rax, [rsp + 0x38]
cmp rbx, rax
je 0x1400040f2
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400040d4
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1400040cf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000426f
mov rcx, r8
call fcn.140034c64
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbx + 0x10], xmm1
jmp 0x140004130
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x140004130
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000412a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000426f
call fcn.140034c64
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x140004170
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000416b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004275
call fcn.140034c64
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x28], 7
mov word [rbp + 0x10], r13w
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x50], r15
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x4c], edx
lea rcx, [rbp + 0x60]
call fcn.140007c50
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x50], rax
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x4c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x100], rax
lea rcx, [rbp + 0x100]
call fcn.1400132a4
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14000421e
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004219
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004251
call fcn.140034c64
mov rax, rbx
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.140034c40
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14003f0f0
nop
call fcn.14003f0f0
nop
call fcn.14003f0f0
nop
call fcn.14003f0f0
nop
call fcn.14000adc0
int3
call fcn.14003f0f0
nop
call fcn.14003f0f0
int3