Function at 0x140035fac
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x968
mov qword [rsp + 0x110], r9
mov qword [rsp + 0x38], r8
mov r12, rdx
mov qword [rsp + 0x30], rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0xb0], 0
lea rax, [rsp + 0x160]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x148]
xor eax, eax
lea rcx, [0x1400ef050]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x50], 0x78c104ba
add rax, 4
cmp rax, 0x64
jne 0x14003602b
cmp qword [rsp + 0x30], 0
mov eax, 0xf730426
mov ecx, 0x5f709ff
cmove ecx, eax
mov dword [rsp + 0x4c], ecx
mov eax, 0x2b7cb90e
lea rdi, [0x1400eee98]
lea rbp, [0x1400ef170]
lea rbx, [0x1400eee60]
lea r8, [0x1400eeff0]
lea r9, [0x1400eee00]
lea r10, [0x1400ef120]
lea r11, [0x1400eee80]
lea rdx, [0x1400eee30]
lea r13, [0x1400efb60]
lea r15, [0x1400eedc0]
lea r14, [0x1400ef0c0]
mov ecx, 0
mov qword [rsp + 0x108], rcx
mov ecx, 0
mov qword [rsp + 0x100], rcx
mov ecx, 0
mov qword [rsp + 0xf8], rcx
mov ecx, 0
mov qword [rsp + 0xf0], rcx
mov ecx, 0
mov qword [rsp + 0xe8], rcx
mov ecx, 0
mov qword [rsp + 0xe0], rcx
mov ecx, 0
mov qword [rsp + 0xd8], rcx
mov ecx, 0
mov qword [rsp + 0xd0], rcx
mov ecx, 0
mov qword [rsp + 0xc8], rcx
mov ecx, 0
mov qword [rsp + 0xc0], rcx
xor ecx, ecx
mov qword [rsp + 0xb8], rcx
mov rsi, rdx
cmp eax, 0x490510eb
jg 0x1400361cc
cmp eax, 0x2b7cb90d
jg 0x14003624c
cmp eax, 0x1940c861
jg 0x1400362e3
cmp eax, 0x1236ecd9
jle 0x140036457
cmp eax, 0x1236ecda
je 0x1400364b0
cmp eax, 0x17ecc182
jne 0x140036139
mov rax, qword [rsp + 0x158]
cmp byte [rsp + 0xf0], 0
jne 0x1400361a1
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x50], 0xe97711d
add rcx, 4
cmp rcx, 0x48
jne 0x14003618b
cmp rax, qword [rsp + 0x118]
mov eax, 0x3c696147
mov ecx, 0x4494ea3d
cmovl eax, ecx
xor eax, dword [rsp + 0x6c]
mov cl, 1
mov qword [rsp + 0xf0], rcx
mov rdx, rsi
jmp 0x140036139
cmp eax, 0x5fb8fe26
jg 0x140036298
cmp eax, 0x55455781
jg 0x140036326
cmp eax, 0x490510ec
je 0x140036541
cmp eax, 0x4a68ab65
je 0x140036595
cmp eax, 0x520aa150
jne 0x140036139
call fcn.140011264
mov rdx, rsi
lea r11, [0x1400eee80]
lea r10, [0x1400ef120]
lea r9, [0x1400eee00]
lea r8, [0x1400eeff0]
lea rbx, [0x1400eee60]
lea rbp, [0x1400ef170]
lea rdi, [0x1400eee98]
mov eax, dword [rsp + 0x60]
mov ecx, 0x709c39d6
xor eax, ecx
jmp 0x140036139
cmp eax, 0x40a872dc
jg 0x1400363a1
cmp eax, 0x2b7cb90e
je 0x1400365b4
cmp eax, 0x303dc6fd
je 0x1400365f7
cmp eax, 0x3736e2f6
jne 0x140036139
mov eax, dword [rsp + 0xb0]
mov ecx, 0x3b0e6bab
xor eax, ecx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x150], rcx
jmp 0x140036139
cmp eax, 0x77b2009b
jg 0x140036416
cmp eax, 0x5fb8fe27
je 0x14003661f
cmp eax, 0x6fb1eea3
je 0x140036643
cmp eax, 0x6ff39071
jne 0x140036139
mov rax, qword [r12]
mov qword [rsp + 0x128], rax
mov eax, dword [rsp + 0x88]
mov ecx, 0x8443eb7
xor eax, ecx
jmp 0x140036139
cmp eax, 0x1940c862
je 0x14003668a
cmp eax, 0x26959245
je 0x1400366f2
cmp eax, 0x2745755d
jne 0x140036139
mov eax, dword [rsp + 0x70]
mov ecx, 0x7a0a8ba4
xor eax, ecx
mov dword [rsp + 0x2c], 2
xor ecx, ecx
mov qword [rsp + 0x140], rcx
jmp 0x140036139
cmp eax, 0x55455782
je 0x140036740
cmp eax, 0x56259861
je 0x14003675c
cmp eax, 0x5818fbf3
jne 0x140036139
mov rax, qword [rsp + 0x138]
lea rdx, [rax - 1]
xor ecx, ecx
call fcn.14001ce24
mov rdx, rsi
lea r11, [0x1400eee80]
lea r10, [0x1400ef120]
lea r9, [0x1400eee00]
lea r8, [0x1400eeff0]
lea rbx, [0x1400eee60]
lea rbp, [0x1400ef170]
lea rdi, [0x1400eee98]
mov eax, dword [rsp + 0xa4]
mov ecx, 0x4ec85d45
xor eax, ecx
jmp 0x140036139
cmp eax, 0x40a872dd
je 0x1400367b0
cmp eax, 0x431144aa
je 0x1400367fa
cmp eax, 0x46794484
jne 0x140036139
cmp byte [rsp + 0xc8], 0
jne 0x1400363e4
xor eax, eax
movsxd rcx, dword [rax + r11]
xor dword [rsp + rcx*4 + 0x50], 0x69603052
add rax, 4
cmp rax, 0x18
jne 0x1400363ce
cmp byte [rsp + 0x2b], 0
mov eax, 0x5727fd53
mov ecx, 0x25d68fde
cmovne eax, ecx
xor eax, dword [rsp + 0x90]
mov cl, 1
mov qword [rsp + 0xc8], rcx
xor ecx, ecx
mov qword [rsp + 0x130], rcx
jmp 0x140036139
cmp eax, 0x77b2009c
je 0x140036853
cmp eax, 0x77b8ca1c
je 0x1400368b2
cmp eax, 0x7d360d45
jne 0x140036139
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x120], rax
mov eax, dword [rsp + 0x58]
mov ecx, 0x7552c159
xor eax, ecx
jmp 0x140036139
cmp eax, 0x549b891
jne 0x1400368d1
cmp byte [rsp + 0xc0], 0
jne 0x140036484
xor eax, eax
movsxd rcx, dword [rax + rdi]
xor dword [rsp + rcx*4 + 0x50], 0x1b98f6ac
add rax, 4
cmp rax, 0x10
jne 0x14003646e
cmp qword [rsp + 0x130], 0
mov eax, 0x224ebdf2
mov ecx, 0x6d2bedf1
cmovle eax, ecx
xor eax, dword [rsp + 0x98]
mov cl, 1
mov qword [rsp + 0xc0], rcx
jmp 0x140036139
mov r8d, 0x800
lea rdi, [rsp + 0x160]
mov rcx, rdi
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, rdi
mov rdx, r12
call fcn.14003575b
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
mov r8, r12
mov r9, qword [rsp + 0x38]
call fcn.140033c54
mov rdx, rsi
lea r11, [0x1400eee80]
lea r10, [0x1400ef120]
lea r9, [0x1400eee00]
lea r8, [0x1400eeff0]
lea rbx, [0x1400eee60]
lea rbp, [0x1400ef170]
lea rdi, [0x1400eee98]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0xac]
mov ecx, 0x6558a734
xor eax, ecx
jmp 0x140036139
cmp byte [rsp + 0xd8], 0
jne 0x140036563
xor eax, eax
movsxd rcx, dword [rax + rdx]
xor dword [rsp + rcx*4 + 0x50], 0x634c96ff
add rax, 4
cmp rax, 0x28
jne 0x14003654d
cmp byte [rsp + 0x2b], 0
mov eax, 0x6b08a848
mov ecx, 0x226eaa7c
cmovne eax, ecx
xor eax, dword [rsp + 0x84]
mov cl, 1
mov qword [rsp + 0xd8], rcx
xor ecx, ecx
mov qword [rsp + 0x128], rcx
jmp 0x140036139
mov rax, qword [r12]
mov qword [rsp + 0x138], rax
mov eax, dword [rsp + 0xa0]
mov ecx, 0xf906ed4
xor eax, ecx
jmp 0x140036139
cmp byte [rsp + 0x108], 0
jne 0x1400365d6
xor eax, eax
movsxd rcx, dword [rax + r8]
xor dword [rsp + rcx*4 + 0x50], 0x7a21c57f
add rax, 4
cmp rax, 0x60
jne 0x1400365c0
mov eax, dword [rsp + 0x50]
xor eax, dword [rsp + 0x4c]
mov cl, 1
mov qword [rsp + 0x108], rcx
xor ecx, ecx
mov qword [rsp + 0x120], rcx
jmp 0x140036139
cmp dword [rsp + 0x2c], 3
mov eax, 0x3b0e6bab
mov ecx, 0xdf0c903
cmove eax, ecx
xor eax, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0x40], rcx
jmp 0x140036139
mov eax, dword [rsp + 0x74]
mov ecx, 0x7a0a8ba4
xor eax, ecx
mov qword [rsp + 0x140], 0xffffffffffffffff
mov dword [rsp + 0x2c], 3
jmp 0x140036139
cmp byte [rsp + 0xe8], 0
jne 0x140036665
xor eax, eax
movsxd rcx, dword [rax + r15]
xor dword [rsp + rcx*4 + 0x50], 0x2f7d4ef2
add rax, 4
cmp rax, 0x3c
jne 0x14003664f
cmp dword [rsp + 0x2c], 3
mov eax, 0x2586a3fa
mov ecx, 0x551317da
cmovl eax, ecx
xor eax, dword [rsp + 0x78]
mov cl, 1
mov qword [rsp + 0xe8], rcx
jmp 0x140036139
mov dl, byte [r12 + 0x10]
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x110]
call fcn.140032f7c
mov rdx, rsi
lea r11, [0x1400eee80]
lea r10, [0x1400ef120]
lea r9, [0x1400eee00]
lea r8, [0x1400eeff0]
lea rbx, [0x1400eee60]
lea rbp, [0x1400ef170]
lea rdi, [0x1400eee98]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0xa8]
mov ecx, 0x17a061ca
xor eax, ecx
jmp 0x140036139
cmp byte [rsp + 0xd0], 0
jne 0x140036714
xor eax, eax
movsxd rcx, dword [rax + rbx]
xor dword [rsp + rcx*4 + 0x50], 0x7cbfe930
add rax, 4
cmp rax, 0x20
jne 0x1400366fe
cmp qword [rsp + 0x128], 1
mov eax, 0x3ce74028
mov ecx, 0x68a8e876
cmove eax, ecx
xor eax, dword [rsp + 0x8c]
mov cl, 1
mov qword [rsp + 0xd0], rcx
jmp 0x140036139
mov rax, qword [r12]
mov qword [rsp + 0x118], rax
mov eax, dword [rsp + 0x68]
mov ecx, 0xcc0d598
xor eax, ecx
jmp 0x140036139
cmp byte [rsp + 0xb8], 0
jne 0x14003677e
xor eax, eax
movsxd rcx, dword [rax + r13]
xor dword [rsp + rcx*4 + 0x50], 0x771e161b
add rax, 4
cmp rax, 8
jne 0x140036768
cmp byte [rsp + 0x2b], 0
mov eax, 0x788e78cf
mov ecx, 0x6afe2859
cmovne eax, ecx
xor eax, dword [rsp + 0x9c]
mov cl, 1
mov qword [rsp + 0xb8], rcx
xor ecx, ecx
mov qword [rsp + 0x138], rcx
jmp 0x140036139
cmp byte [rsp + 0xe0], 0
jne 0x1400367d2
xor eax, eax
movsxd rcx, dword [rax + r9]
xor dword [rsp + rcx*4 + 0x50], 0x775b11f8
add rax, 4
cmp rax, 0x2c
jne 0x1400367bc
cmp dword [rsp + 0x2c], 2
mov eax, 0x3b0e6bab
mov ecx, 0x73c33b19
cmove eax, ecx
xor eax, dword [rsp + 0x80]
mov cl, 1
mov qword [rsp + 0xe0], rcx
jmp 0x140036139
test r12, r12
setne byte [rsp + 0x2b]
cmp byte [rsp + 0xf8], 0
jne 0x140036824
xor eax, eax
movsxd rcx, dword [rax + r10]
xor dword [rsp + rcx*4 + 0x50], 0x28a16966
add rax, 4
cmp rax, 0x50
jne 0x14003680e
cmp byte [rsp + 0x2b], 0
mov eax, 0x2461bcfe
mov ecx, 0x66c82afe
cmovne eax, ecx
xor eax, dword [rsp + 0x64]
mov cl, 1
mov qword [rsp + 0xf8], rcx
xor ecx, ecx
mov qword [rsp + 0x118], rcx
jmp 0x140036139
mov rcx, qword [rsp + 0x120]
sub rcx, qword [rsp + 0x38]
seto al
mov qword [rsp + 0x158], rcx
cmp byte [rsp + 0x100], 0
jne 0x14003688d
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rsp + rdx*4 + 0x50], 0x316dbcb9
add rcx, 4
cmp rcx, 0x58
jne 0x140036877
test al, al
mov eax, 0x41f1856f
mov ecx, 0x50ea6095
cmovne eax, ecx
xor eax, dword [rsp + 0x5c]
mov cl, 1
mov qword [rsp + 0x100], rcx
mov rdx, rsi
jmp 0x140036139
mov rax, qword [r12]
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0x94]
mov ecx, 0x3e47cd01
xor eax, ecx
jmp 0x140036139
cmp eax, 0x1c8405e
jne 0x140036139
mov rax, qword [rsp + 0x148]
mov rax, qword [rsp + 0x150]
add rsp, 0x968
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret