Function at 0x140074020
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1b0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x110], r9
mov qword [rbp + 0x118], r8
mov qword [rbp + 0x120], rdx
mov qword [rbp + 0x128], rcx
mov eax, dword [0x140106fb8]
imul eax, dword [0x140106fbc]
sub eax, 0x7971981c
or eax, 0xf319dd31
imul eax, eax, 0x2c08ce7
cmp eax, 0xdb0c12ac
ja 0x140077423
mov rsi, qword [rbp + 0x110]
mov rbx, qword [rbp + 0x118]
mov r14, qword [rbp + 0x120]
mov r15, qword [rbp + 0x128]
mov eax, dword [str.di_]
mov ecx, dword [0x140106fc4]
xor edx, edx
div ecx
or eax, 0xbef42eff
imul eax, eax, 0x83700d30
mov dword [rbp + 0xfc], eax
mov eax, 0x10
mov qword [rbp + 0xe8], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov r8, rsp
mov qword [rbp + 0x90], r8
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rdi, rsp
mov qword [rbp + 0xa0], rdi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov r11, rsp
mov qword [rbp + 0xa8], r11
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rdx, rsp
mov qword [rbp + 0xb0], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rdx, rsp
mov qword [rbp + 0xb8], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rdx, rsp
mov qword [rbp + 0xc0], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov r10, rsp
mov qword [rbp + 0xc8], r10
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov r9, rsp
mov qword [rbp + 0xd0], r9
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rdx, rsp
mov qword [rbp + 0xd8], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov r12, rsp
mov qword [rbp + 0xe0], r12
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov r12, rsp
mov qword [rbp + 0xf0], r12
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp + 0xfc]
mov r12, rsp
mov qword [rbp + 0x100], r12
mov qword [r8], r15
mov qword [rcx], r14
mov qword [rdi], rbx
mov qword [r11], rsi
mov dword [r10], 0
mov r10, qword [r8]
mov r10, qword [r10 + 0x28]
mov qword [r9], r10
mov r8, qword [r8]
mov r8, qword [r8 + 0x30]
mov qword [rdx], r8
mov rcx, qword [rcx]
cmp dword [rcx + 0x164], 0
setne cl
mov byte [rbp + 0x10f], cl
cmp eax, 0x44586f39
ja 0x14007407d
mov al, byte [rbp + 0x10f]
test al, 1
jne 0x14007449e
jmp 0x14007427b
mov eax, dword [0x140106fc8]
xor eax, dword [0x140106fcc]
xor eax, 0x54f9ba51
sub eax, 0x59f16fc4
and eax, 0x13529d2
cmp eax, 0x2237ac6f
ja 0x140077509
mov rcx, qword [rbp + 0x98]
mov eax, dword [0x140106fd0]
add eax, dword [0x140106fd4]
imul eax, eax, 0x904b516
xor eax, 0xb1721c2d
or eax, 0xc075923
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x18]
cmp dword [rcx + 0x150], 0
setne cl
mov byte [rbp + 0x87], cl
cmp eax, 0x18520669
jb 0x140077509
mov al, byte [rbp + 0x87]
test al, 1
jne 0x1400742f9
jmp 0x140074376
mov eax, dword [0x140106fd8]
xor edx, edx
div dword [0x140106fdc]
add eax, 0xee2d28e7
imul eax, eax, 0x7102f595
sub eax, 0xa653baf1
cmp eax, 0xee24446c
je 0x14007750e
mov rcx, qword [rbp + 0x98]
mov eax, dword [0x140106fe0]
and eax, dword [0x140106fe4]
xor eax, 0xefae6ff6
xor eax, 0x5d6279a0
mov r8d, 0xc495c13e
xor edx, edx
div r8d
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x18]
mov ecx, dword [rcx + 0x150]
mov dword [rbp + 0x80], ecx
cmp eax, 0xc29209d2
je 0x140074322
mov eax, dword [rbp + 0x80]
mov dword [rbp + 0x7c], eax
jmp 0x140074396
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov edx, dword [rax + 0x70]
mov eax, 0x10000
mov ecx, 0x4000
cmp edx, 6
cmove eax, ecx
mov dword [rbp + 0x7c], eax
mov rax, qword [rbp + 0x98]
mov edx, dword [rbp + 0x7c]
mov rcx, qword [rax]
mov dword [rcx + 0x164], edx
mov rax, qword [rax]
mov eax, dword [rax + 0x164]
mov ecx, eax
sub rsp, 0x20
call sub.msvcrt.dll_malloc
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x98]
mov rcx, qword [rax]
mov qword [rcx + 0x148], rdx
mov rax, qword [rax]
cmp qword [rax + 0x148], 0
jne 0x140074448
mov eax, dword [0x140106fe8]
sub eax, dword [0x140106fec]
mov ecx, 0x6f4fcab6
xor edx, edx
div ecx
add eax, 0xd6b5ed81
sub eax, 0x5e9e2a59
cmp eax, 0x6f9ba45f
je 0x140077513
mov rcx, qword [rbp + 0x88]
mov eax, dword [0x140106ff0]
xor eax, dword [0x140106ff4]
and eax, 0xb23911ae
add eax, 0xef157f2
or eax, 0x854c5c41
mov dword [rcx], 0x15
cmp eax, 0x92218080
jb 0x140074410
jmp 0x1400773b1
mov eax, dword [0x140106ff8]
or eax, dword [0x140106ffc]
mov ecx, 0x20836248
xor edx, edx
div ecx
or eax, 0x7758dfa9
and eax, 0xdc7f63ee
cmp eax, 0x2d99dc20
jbe 0x140077525
mov eax, dword [0x140107000]
add eax, dword [0x140107004]
imul eax, eax, 0x4f9af8af
sub eax, 0xd3b98cb1
and eax, 0xc6dad736
cmp eax, 0xdc00b5b5
jae 0x140077525
jmp 0x14007449e
mov eax, dword [0x140107008]
add eax, dword [0x14010700c]
and eax, 0x19154bb9
add eax, 0xb2ac4b22
imul eax, eax, 0xabd2f984
cmp eax, 0xd2374575
jae 0x14007752a
mov rcx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xb0]
mov r9, qword [rbp + 0x98]
mov eax, dword [0x140107010]
and eax, dword [0x140107014]
sub eax, 0x9537f9c0
imul eax, eax, 0x6373f28
mov r10d, 0xb09717fe
xor edx, edx
div r10d
mov rdx, qword [rbp + 0xb8]
mov r9, qword [r9]
mov r9, qword [r9 + 0x148]
mov qword [r8], r9
mov r8, qword [r8]
add r8, 0x800
mov qword [rdx], r8
cmp qword [rcx], 0
setne cl
mov byte [rbp + 0x7b], cl
cmp eax, 0x8a6ce698
jae 0x14007752a
mov al, byte [rbp + 0x7b]
test al, 1
jne 0x140074542
jmp 0x140074703
mov eax, dword [0x140107018]
or eax, dword [0x14010701c]
or eax, 0x628b9964
imul eax, eax, 0xf5a3039e
or eax, 0xa6e991b4
cmp eax, 0xdca0e9ff
jb 0x14007755e
mov rcx, qword [rbp + 0xd0]
mov eax, dword [0x140107020]
or eax, dword [0x140107024]
add eax, 0x6e575f33
or eax, 0x4bf256a
or eax, 0x4d190e0d
mov rcx, qword [rcx]
movzx ecx, byte [rcx]
cmp ecx, 0x2a
sete cl
mov byte [rbp + 0x7a], cl
cmp eax, 0x4bebf851
jbe 0x14007755e
mov al, byte [rbp + 0x7a]
test al, 1
jne 0x1400745b5
jmp 0x1400746ae
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
cmp qword [rax + 0x120], 0
jne 0x14007462d
mov eax, dword [0x140107028]
add eax, dword [0x14010702c]
imul eax, eax, 0x615e390f
xor eax, 0xe5b0e480
sub eax, 0x53136362
cmp eax, 0xb02a600e
je 0x140077563
mov rcx, qword [rbp + 0x88]
mov eax, dword [0x140107030]
xor eax, dword [0x140107034]
imul eax, eax, 0xd4901d76
or eax, 0x58934e01
or eax, 0xdedf2be0
mov dword [rcx], 4
cmp eax, 0x20915568
jbe 0x140077563
jmp 0x1400773b1
mov eax, dword [0x140107038]
add eax, dword [0x14010703c]
add eax, 0x51c9186e
xor eax, 0x7df8eba2
and eax, 0x8927f6d3
cmp eax, 0x1c293d1
jae 0x140077575
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0x98]
mov r8, qword [rbp + 0xd0]
mov eax, dword [0x140107040]
and eax, dword [0x140107044]
imul eax, eax, 0xd82a0e5a
or eax, 0xd2f55006
and eax, 0x300a5c7a
mov r9, qword [rdx]
mov r9, qword [r9 + 0x120]
mov qword [r8], r9
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x128]
mov qword [rcx], rdx
cmp eax, 0x7c96e2f6
je 0x140074653
jmp 0x1400746ae
mov eax, dword [0x140107048]
sub eax, dword [0x14010704c]
add eax, 0x10213908
xor eax, 0x13f2c5fe
or eax, 0x8dbef71a
cmp eax, 0xc9baccf8
jae 0x1400775a9
mov eax, dword [0x140107050]
or eax, dword [0x140107054]
mov ecx, 0x298fe845
xor edx, edx
div ecx
add eax, 0x594afded
and eax, 0xee3bce0d
cmp eax, 0xe2aa1f1b
jae 0x1400746d4
jmp 0x140074703
mov rax, qword [rbp + 0x90]
mov rax, qword [rax]
mov eax, dword [rax + 8]
mov qword [rbp + 0x70], rax
sub rax, 0xc
ja 0x140077349
mov rax, qword [rbp + 0x70]
lea rcx, [0x1401167c0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x1401074c8]
and eax, dword [0x1401074cc]
mov ecx, 0x89e51374
xor edx, edx
div ecx
xor eax, 0x80805189
and eax, 0xae183e12
cmp eax, 0xb37f242
jbe 0x140077f21
mov rcx, qword [rbp + 0x88]
mov eax, dword [0x1401074d0]
xor eax, dword [0x1401074d4]
or eax, 0xa5331136
xor eax, 0x3d72bf7
mov r8d, 0xb5067b91
xor edx, edx
div r8d
mov dword [rcx], 0x1e
cmp eax, 0x13f38c71
jae 0x140077f21
jmp 0x1400773b1
mov eax, dword [0x1401074d8]
and eax, dword [0x1401074dc]
and eax, 0x56dc2f91
mov ecx, 0xa9d5c4d5
xor edx, edx
div ecx
xor eax, 0x403f2a98
cmp eax, 0x85eee4f4
jae 0x140077f33
mov rcx, qword [rbp + 0x88]
mov eax, dword [0x1401074e0]
imul eax, dword [0x1401074e4]
and eax, 0xf89013a2
xor eax, 0x7a69acb4
xor eax, 0xe78b5e2
mov ecx, dword [rcx]
mov dword [rbp - 0x64], ecx
cmp eax, 0xb76a238c
jae 0x140077f33
mov eax, dword [rbp - 0x64]
lea rsp, [rbp + 0x130]
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov r10, qword [rbp + 0x110]
mov rsi, qword [rbp + 0x118]
mov rbx, qword [rbp + 0x120]
mov r14, qword [rbp + 0x128]
mov eax, 0x10
mov qword [rbp - 0x70], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rcx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rdi, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov r11, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov r9, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov r8, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rcx], r14
mov qword [rdi], rbx
mov qword [r11], rsi
mov qword [r9], r10
mov dword [r8], 0
mov r8, qword [rcx]
mov r8, qword [r8 + 0x28]
mov qword [rdx], r8
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x30]
mov qword [rax], rcx
jmp 0x14007407d
jmp 0x1400742a1
jmp 0x140074322
mov rax, qword [rbp + 0x88]
mov dword [rax], 0x15
jmp 0x140074410
jmp 0x140074472
mov rax, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0x98]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x148]
mov qword [rcx], rdx
mov rcx, qword [rcx]
add rcx, 0x800
mov qword [rax], rcx
jmp 0x1400744c5
jmp 0x140074569
mov rax, qword [rbp + 0x88]
mov dword [rax], 4
jmp 0x1400745f4
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xd0]
mov r8, qword [rcx]
mov r8, qword [r8 + 0x120]
mov qword [rdx], r8
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x128]
mov qword [rax], rcx
jmp 0x140074653
jmp 0x1400746d4
mov rax, qword [rbp + 0x88]
mov dword [rax], 0x1e
jmp 0x140077373
jmp 0x1400773db