Function at 0x140039708
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1b8
mov r15, rcx
xor edi, edi
lea rcx, [rsp + 0x110]
mov r8d, 0x98
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [0x1400efcf0]
movsxd rcx, dword [rdi + rax]
xor dword [rsp + rcx*4 + 0x110], 0x78c104ba
add rdi, 4
cmp rdi, 0x94
jne 0x14003973c
mov eax, 0x40a872dd
xor ecx, ecx
mov qword [rsp + 0xc0], rcx
lea rdi, [0x1400f0094]
lea rbp, [0x1400efe30]
lea rsi, [0x1400f0020]
lea rbx, [0x1400efd90]
lea r8, [0x1400f0070]
lea r9, [0x1400efc60]
lea r10, [0x1400f009c]
lea r11, [0x1400efe20]
lea r12, [0x1400f0068]
lea r14, [0x1400effd0]
mov ecx, 0
mov qword [rsp + 0xb8], rcx
mov ecx, 0
mov qword [rsp + 0xb0], rcx
mov ecx, 0
mov qword [rsp + 0xa8], rcx
mov ecx, 0
mov qword [rsp + 0xa0], rcx
mov ecx, 0
mov qword [rsp + 0x98], rcx
mov ecx, 0
mov qword [rsp + 0x80], rcx
mov ecx, 0
mov qword [rsp + 0x90], rcx
mov ecx, 0
mov qword [rsp + 0x78], rcx
mov ecx, 0
mov qword [rsp + 0x70], rcx
mov ecx, 0
mov qword [rsp + 0x68], rcx
mov ecx, 0
mov qword [rsp + 0x60], rcx
mov ecx, 0
mov qword [rsp + 0x58], rcx
mov ecx, 0
mov qword [rsp + 0x50], rcx
mov ecx, 0
mov qword [rsp + 0x48], rcx
mov ecx, 0
mov qword [rsp + 0x40], rcx
mov ecx, 0
mov qword [rsp + 0x88], rcx
cmp eax, 0x4207170b
jle 0x1400398ca
cmp eax, 0x648bcbe2
jg 0x14003992a
cmp eax, 0x54ddea86
jg 0x140039a47
cmp eax, 0x4a68ab64
jle 0x140039bf1
cmp eax, 0x4a68ab65
je 0x140039eac
cmp eax, 0x534520fe
je 0x140039eca
cmp eax, 0x5473af89
jne 0x140039865
mov eax, dword [rsp + 0x158]
mov ecx, 0x51f3c972
xor eax, ecx
mov dword [rsp + 0x3c], 4
mov qword [rsp + 0x108], r13
jmp 0x140039865
cmp eax, 0x25f10877
jg 0x1400399c0
cmp eax, 0x1236ecd9
jle 0x140039acc
cmp eax, 0x1bcad33c
jle 0x140039c5b
cmp eax, 0x1bcad33d
je 0x140039f1b
cmp eax, 0x1cac1070
je 0x140039f67
cmp eax, 0x2092dc34
jne 0x140039865
mov rax, qword [r15]
mov qword [rsp + 0xf8], rax
mov eax, dword [rsp + 0x180]
mov ecx, 0x512197c0
xor eax, ecx
jmp 0x140039865
cmp eax, 0x6ff39070
jle 0x140039b3e
cmp eax, 0x70897d9a
jle 0x140039cc8
cmp eax, 0x70897d9b
je 0x140039fac
cmp eax, 0x77b8ca1c
je 0x14003a00b
cmp eax, 0x7b5342a8
jne 0x140039865
mov rax, qword [rsp + 0x100]
lea rdx, [rax - 1]
mov rcx, r13
call fcn.14001ce24
lea r11, [0x1400efe20]
lea r10, [0x1400f009c]
lea r9, [0x1400efc60]
lea r8, [0x1400f0070]
lea rbx, [0x1400efd90]
lea rsi, [0x1400f0020]
lea rbp, [0x1400efe30]
lea rdi, [0x1400f0094]
mov eax, dword [rsp + 0x190]
mov ecx, 0x1f436a86
xor eax, ecx
jmp 0x140039865
cmp eax, 0x3736e2f5
jle 0x140039b7d
cmp eax, 0x40a872dc
jle 0x140039d01
cmp eax, 0x40a872dd
je 0x14003a01e
cmp eax, 0x40c73208
je 0x14003a07f
cmp eax, 0x411603ee
jne 0x140039865
call fcn.140011264
lea r11, [0x1400efe20]
lea r10, [0x1400f009c]
lea r9, [0x1400efc60]
lea r8, [0x1400f0070]
lea rbx, [0x1400efd90]
lea rsi, [0x1400f0020]
lea rbp, [0x1400efe30]
lea rdi, [0x1400f0094]
mov eax, dword [rsp + 0x14c]
mov ecx, 0x63ac8cae
xor eax, ecx
jmp 0x140039865
cmp eax, 0x5c74bdc0
jg 0x140039d3a
cmp eax, 0x56259861
je 0x14003a0a0
cmp eax, 0x5818fbf3
jne 0x14003a3f4
mov rcx, qword [rsp + 0xd8]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.14001c234
lea r11, [0x1400efe20]
lea r10, [0x1400f009c]
lea r9, [0x1400efc60]
lea r8, [0x1400f0070]
lea rbx, [0x1400efd90]
lea rsi, [0x1400f0020]
lea rbp, [0x1400efe30]
lea rdi, [0x1400f0094]
mov eax, dword [rsp + 0x134]
mov ecx, 0x245ac403
xor eax, ecx
jmp 0x140039865
cmp eax, 0x549b890
jg 0x140039dab
cmp eax, 0x1c8405e
je 0x14003a0f7
cmp eax, 0x251cabb
jne 0x140039865
cmp byte [rsp + 0x50], 0
jne 0x140039b0f
xor eax, eax
movsxd rcx, dword [rax + rdi]
xor dword [rsp + rcx*4 + 0x110], 0x6af489b9
add rax, 4
cmp rax, 8
jne 0x140039af6
cmp byte [rsp + 0x2e], 0
mov eax, 0x3bd51e79
mov ecx, 0x31afaa23
cmovne eax, ecx
xor eax, dword [rsp + 0x17c]
mov cl, 1
mov qword [rsp + 0x50], rcx
xor ecx, ecx
mov qword [rsp + 0xf8], rcx
jmp 0x140039865
cmp eax, 0x6c4614ff
jg 0x140039dec
cmp eax, 0x648bcbe3
je 0x14003a115
cmp eax, 0x6550adef
jne 0x140039865
mov rax, qword [r15]
mov qword [rsp + 0x100], rax
mov eax, dword [rsp + 0x18c]
mov ecx, 0x386495ef
xor eax, ecx
jmp 0x140039865
cmp eax, 0x2ae8686d
jg 0x140039e4f
cmp eax, 0x25f10878
je 0x14003a17c
cmp eax, 0x26959245
jne 0x140039865
cmp byte [rsp + 0xb8], 0
jne 0x140039bc5
xor eax, eax
movsxd rcx, dword [rax + rbx]
xor dword [rsp + rcx*4 + 0x110], 0x316dbcb9
add rax, 4
cmp rax, 0x88
jne 0x140039baa
cmp qword [rsp + 0xc8], 0
mov eax, 0x44998541
mov ecx, 0x54c559a4
cmovs eax, ecx
xor eax, dword [rsp + 0x11c]
mov cl, 1
mov qword [rsp + 0xb8], rcx
jmp 0x140039865
cmp eax, 0x4207170c
je 0x14003a1cb
cmp eax, 0x46794484
jne 0x140039865
cmp byte [rsp + 0xb0], 0
jne 0x140039c33
xor eax, eax
lea rcx, [0x1400efe18]
movsxd rcx, dword [rax + rcx]
xor dword [rsp + rcx*4 + 0x110], 0x59f86fa6
add rax, 4
cmp rax, 8
jne 0x140039c13
cmp byte [rsp + 0x2e], 0
mov eax, 0x36c4c5ed
mov ecx, 0x4435b760
cmovne eax, ecx
xor eax, dword [rsp + 0x120]
mov cl, 1
mov qword [rsp + 0xb0], rcx
jmp 0x140039865
cmp eax, 0x1236ecda
je 0x14003a21b
cmp eax, 0x1940c862
jne 0x140039865
cmp byte [rsp + 0xa0], 0
jne 0x140039c96
xor eax, eax
movsxd rcx, dword [rax + rbp]
xor dword [rsp + rcx*4 + 0x110], 0x2f7d4ef2
add rax, 4
cmp rax, 0x6c
jne 0x140039c7d
cmp byte [rsp + 0x2e], 0
mov eax, 0x4bb9f8a
mov ecx, 0x21bb91a6
cmovne eax, ecx
xor eax, dword [rsp + 0x138]
mov cl, 1
mov qword [rsp + 0xa0], rcx
xor ecx, ecx
mov qword [rsp + 0xe0], rcx
jmp 0x140039865
cmp eax, 0x6ff39071
je 0x14003a239
cmp eax, 0x70028260
jne 0x140039865
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
mov eax, dword [rsp + 0x170]
mov ecx, 0x2888edf0
xor eax, ecx
jmp 0x140039865
cmp eax, 0x3736e2f6
je 0x14003a257
cmp eax, 0x37fa3594
jne 0x140039865
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0xe8], rax
mov eax, dword [rsp + 0x164]
mov ecx, 0x254ad566
xor eax, ecx
jmp 0x140039865
cmp eax, 0x5c74bdc1
je 0x14003a2c4
cmp eax, 0x61ef7259
jne 0x140039865
mov rax, qword [rsp + 0x30]
cmp byte [rsp + 0x68], 0
jne 0x140039d7e
xor ecx, ecx
lea rdx, [0x1400f0060]
movsxd rdx, dword [rcx + rdx]
xor dword [rsp + rdx*4 + 0x110], 0x5fcc2877
add rcx, 4
cmp rcx, 8
jne 0x140039d5e
test rax, rax
mov eax, 0xdbbfa8d
mov ecx, 0x7a86fd11
cmove eax, ecx
xor eax, dword [rsp + 0x160]
mov cl, 1
mov qword [rsp + 0x68], rcx
xor ecx, ecx
mov qword [rsp + 0xe8], rcx
jmp 0x140039865
cmp eax, 0x549b891
je 0x14003a36c
cmp eax, 0x111e93e2
jne 0x140039865
mov eax, dword [rsp + 0x19c]
mov ecx, 0x1a7da7e5
xor eax, ecx
mov dword [rsp + 0x3c], 0
mov rcx, qword [rsp + 0x1b0]
mov qword [rsp + 0x108], rcx
jmp 0x140039865
cmp eax, 0x6c461500
je 0x14003a37f
cmp eax, 0x6ecc484e
jne 0x140039865
mov rax, qword [rsp + 0x1a8]
cmp byte [rsp + 0x78], 0
jne 0x140039e2c
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rsp + rdx*4 + 0x110], 0x5c59b6c3
add rcx, 4
cmp rcx, 0x50
jne 0x140039e13
cmp r13, rax
mov eax, 0x34f767b9
mov ecx, 0x4575c048
cmovg eax, ecx
xor eax, dword [rsp + 0x154]
mov cl, 1
mov qword [rsp + 0x78], rcx
jmp 0x140039865
cmp eax, 0x2ae8686e
je 0x14003a3d3
cmp eax, 0x31496eb2
jne 0x140039865
cmp byte [rsp + 0x58], 0
jne 0x140039e87
xor eax, eax
movsxd rcx, dword [rax + r8]
xor dword [rsp + rcx*4 + 0x110], 0x2b7cb90e
add rax, 4
cmp rax, 0x24
jne 0x140039e6e
cmp byte [rsp + 0x2f], 0
mov eax, 0x381005a2
mov ecx, 0x6904efe7
cmovne eax, ecx
xor eax, dword [rsp + 0x178]
mov cl, 1
mov qword [rsp + 0x58], rcx
jmp 0x140039865
mov rax, qword [r15]
mov qword [rsp + 0xd8], rax
mov eax, dword [rsp + 0x130]
mov ecx, 0x6502f792
xor eax, ecx
jmp 0x140039865
cmp byte [rsp + 0x48], 0
jne 0x140039eec
xor eax, eax
movsxd rcx, dword [rax + r10]
xor dword [rsp + rcx*4 + 0x110], 0x520aa150
add rax, 4
cmp rax, 8
jne 0x140039ed3
cmp byte [rsp + 0x2e], 0
mov eax, 0x6a6e34bf
mov ecx, 0x746ddbf8
cmovne eax, ecx
xor eax, dword [rsp + 0x188]
mov cl, 1
mov qword [rsp + 0x48], rcx
xor ecx, ecx
mov qword [rsp + 0x100], rcx
jmp 0x140039865
cmp byte [rsp + 0x90], 0
lea rdx, [0x1400eff70]
jne 0x140039f47
xor eax, eax
movsxd rcx, dword [rax + rdx]
xor dword [rsp + rcx*4 + 0x110], 0x69603052
add rax, 4
cmp rax, 0x54
jne 0x140039f2e
mov eax, dword [rsp + 0x150]
mov ecx, 0x16aa17dd
xor eax, ecx
mov cl, 1
mov qword [rsp + 0x90], rcx
xor r13d, r13d
jmp 0x140039865
cmp byte [rsp + 0x88], 0
jne 0x140039f7c
xor dword [rsp + 0x1a4], 0x6fb1eea3
cmp dword [rsp + 0x3c], 4
mov eax, 0x2393914c
mov ecx, 0x19823385
cmove eax, ecx
xor eax, dword [rsp + 0x1a0]
mov cl, 1
mov qword [rsp + 0x88], rcx
mov r13, qword [rsp + 0x108]
jmp 0x140039865
mov rax, qword [rsp + 0xf0]
lea rdx, [rax - 1]
mov rcx, r13
call fcn.14001ce24
lea r11, [0x1400efe20]
lea r10, [0x1400f009c]
lea r9, [0x1400efc60]
lea r8, [0x1400f0070]
lea rbx, [0x1400efd90]
lea rsi, [0x1400f0020]
lea rbp, [0x1400efe30]
lea rdi, [0x1400f0094]
mov eax, dword [rsp + 0x174]
mov ecx, 0x6948fed9
xor eax, ecx
jmp 0x140039865
mov eax, dword [rsp + 0x124]
mov ecx, 0x6f3caa4b
xor eax, ecx
jmp 0x140039865
test r15, r15
setne byte [rsp + 0x2e]
cmp byte [rsp + 0xc0], 0
jne 0x14003a04d
xor eax, eax
movsxd rcx, dword [rax + r9]
xor dword [rsp + rcx*4 + 0x110], 0x7a21c57f
add rax, 4
cmp rax, 0x90
jne 0x14003a032
cmp byte [rsp + 0x2e], 0
mov eax, 0x5e5496ff
mov ecx, 0x173294cb
cmovne eax, ecx
xor eax, dword [rsp + 0x110]
mov cl, 1
mov qword [rsp + 0xc0], rcx
xor ecx, ecx
mov qword [rsp + 0xc8], rcx
jmp 0x140039865
cmp r13, qword [rsp + 0xe8]
mov eax, 0x9cbf26e
mov ecx, 0x54c489dc
cmovl eax, ecx
xor eax, dword [rsp + 0x168]
jmp 0x140039865
cmp byte [rsp + 0xa8], 0
jne 0x14003a0c5
xor eax, eax
movsxd rcx, dword [rax + r11]
xor dword [rsp + rcx*4 + 0x110], 0xe97711d
add rax, 4
cmp rax, 8
jne 0x14003a0ac
cmp byte [rsp + 0x2e], 0
mov eax, 0x6b95868f
mov ecx, 0x79e5d619
cmovne eax, ecx
xor eax, dword [rsp + 0x12c]
mov cl, 1
mov qword [rsp + 0xa8], rcx
xor ecx, ecx
mov qword [rsp + 0xd8], rcx
jmp 0x140039865
mov rax, qword [r15]
mov qword [rsp + 0xd0], rax
mov eax, dword [rsp + 0x144]
mov ecx, 0xf20e995
xor eax, ecx
jmp 0x140039865
mov rcx, qword [rsp + 0xd0]
dec rcx
seto al
mov qword [rsp + 0x1a8], rcx
cmp byte [rsp + 0x80], 0
jne 0x14003a157
xor ecx, ecx
lea rdx, [0x1400eff10]
movsxd rdx, dword [rcx + rdx]
xor dword [rsp + rdx*4 + 0x110], 0x13cd7de5
add rcx, 4
cmp rcx, 0x5c
jne 0x14003a137
test al, al
mov eax, 0x7061f14b
mov ecx, 0x2abd2198
cmovne eax, ecx
xor eax, dword [rsp + 0x148]
mov cl, 1
mov qword [rsp + 0x80], rcx
jmp 0x140039865
test r13, r13
sets byte [rsp + 0x2f]
cmp byte [rsp + 0x70], 0
jne 0x14003a1a6
xor eax, eax
movsxd rcx, dword [rax + rsi]
xor dword [rsp + rcx*4 + 0x110], 0x771e161b
add rax, 4
cmp rax, 0x40
jne 0x14003a18d
cmp byte [rsp + 0x2f], 0
mov eax, 0x2cb0ab5b
mov ecx, 0x2119cc02
cmovne eax, ecx
xor eax, dword [rsp + 0x15c]
mov cl, 1
mov qword [rsp + 0x70], rcx
jmp 0x140039865
call fcn.140011264
lea r11, [0x1400efe20]
lea r10, [0x1400f009c]
lea r9, [0x1400efc60]
lea r8, [0x1400f0070]
lea rbx, [0x1400efd90]
lea rsi, [0x1400f0020]
lea rbp, [0x1400efe30]
lea rdi, [0x1400f0094]
mov eax, dword [rsp + 0x198]
mov ecx, 0x17cf2477
xor eax, ecx
jmp 0x140039865
mov rax, qword [r15]
mov qword [rsp + 0xe0], rax
mov eax, dword [rsp + 0x13c]
mov ecx, 0x2bc6d178
xor eax, ecx
jmp 0x140039865
mov rax, qword [r15]
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0x118]
mov ecx, 0x24755380
xor eax, ecx
jmp 0x140039865
mov rcx, qword [rsp + 0xe0]
call fcn.14001c7b6
mov qword [rsp + 0x30], rax
cmp byte [rsp + 0x98], 0
lea rdx, [0x1400efea0]
jne 0x14003a295
xor eax, eax
movsxd rcx, dword [rax + rdx]
xor dword [rsp + rcx*4 + 0x110], 0x775b11f8
add rax, 4
cmp rax, 0x64
jne 0x14003a27c
cmp byte [rsp + 0x2e], 0
mov eax, 0x787bf86d
mov ecx, 0x1d3873d0
cmovne eax, ecx
xor eax, dword [rsp + 0x140]
mov cl, 1
mov qword [rsp + 0x98], rcx
xor ecx, ecx
mov qword [rsp + 0xd0], rcx
jmp 0x14003a32f
mov cl, byte [r15 + r13 + 0x10]
call fcn.1400395ce
mov rcx, qword [rsp + 0x30]
mov byte [rcx + r13 + 0x10], al
mov rcx, r13
inc rcx
seto al
mov qword [rsp + 0x1b0], rcx
cmp byte [rsp + 0x40], 0
lea rbp, [0x1400f00a4]
jne 0x14003a312
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x110], 0x17ecc182
add rcx, 4
cmp rcx, 8
jne 0x14003a2f9
test al, al
mov eax, 0x23e5f5
mov ecx, 0x533a611b
cmovne eax, ecx
xor eax, dword [rsp + 0x194]
mov cl, 1
mov qword [rsp + 0x40], rcx
lea rdi, [0x1400f0094]
lea rbp, [0x1400efe30]
lea rsi, [0x1400f0020]
lea rbx, [0x1400efd90]
lea r8, [0x1400f0070]
lea r9, [0x1400efc60]
lea r10, [0x1400f009c]
lea r11, [0x1400efe20]
jmp 0x140039865
mov eax, dword [rsp + 0x128]
mov ecx, 0x7335dab8
xor eax, ecx
jmp 0x140039865
mov rax, qword [rsp + 0x30]
cmp byte [rsp + 0x60], 0
jne 0x14003a3a6
xor ecx, ecx
movsxd rdx, dword [rcx + r12]
xor dword [rsp + rdx*4 + 0x110], 0x62405f72
add rcx, 4
cmp rcx, 8
jne 0x14003a38d
test rax, rax
mov eax, 0x4a434d79
mov ecx, 0x4ac8b282
cmove eax, ecx
xor eax, dword [rsp + 0x16c]
mov cl, 1
mov qword [rsp + 0x60], rcx
xor ecx, ecx
mov qword [rsp + 0xf0], rcx
jmp 0x140039865
cmp r13, qword [rsp + 0xf8]
mov eax, 0x288cdf50
mov ecx, 0x27bd426f
cmovl eax, ecx
xor eax, dword [rsp + 0x184]
jmp 0x140039865
cmp eax, 0x54ddea87
jne 0x140039865
mov rax, qword [rsp + 0x30]
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret