Function at 0x140093680
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov r9, rdx
mov r10d, 0xc307a379
nop
mov eax, dword [0x141dd0460]
xor edx, edx
div dword [str.___f:]
imul rax, r10
shr rax, 0x3f
or eax, 0x42edef34
imul edx, eax, 0x5febe131
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rsi, rsp
cmp edx, 0xb3c93f2
jb 0x1400936a0
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r15, rsp
mov eax, 0x400
call fcn.1400ef3b0
sub rsp, rax
mov qword [rbp - 0x68], rsp
mov r11, qword [r9 + 8]
mov rax, qword [r9 + 0x10]
cmp rax, 4
mov qword [rbp - 0x10], r15
jb 0x1400937f0
movabs r10, 0x5c003f003f005c
lea r15, [r10 + 0x1d0000]
xor edx, edx
cmp r15, qword [r11]
setne dl
nop dword [rax]
mov r15d, dword [0x141dd0468]
imul r15d, dword [0x141dd046c]
imul r15, r15, 0x2b596f09
shr r15, 0x3b
and r15d, 0xfffffffd
xor r15d, 0xe7d7e2a6
cmp r15d, 0xb0435c29
jb 0x140093760
test edx, edx
mov r15, qword [rbp - 0x10]
je 0x14009389b
cmp r10, qword [r11]
je 0x14009389b
cmp rax, 0xf8
jae 0x140093a04
cmp word [r11 + 2], 0x3a
jne 0x140093950
nop dword [rax + rax]
mov eax, dword [0x141dd05f0]
xor eax, dword [0x141dd05f4]
imul eax, eax, 0x7b13b6e8
and eax, 0x49c4c750
add eax, 0xc556d26f
cmp eax, 0xcb91742f
ja 0x1400937c0
movzx eax, word [r11 + 4]
jmp 0x1400938ed
mov edx, dword [0x141dd0478]
sub edx, dword [0x141dd047c]
xor edx, 0x5822a08
or edx, 0xaa3cd1d3
xor edx, 0x6747ebb0
cmp edx, 0x6c201d8f
jb 0x1400937f0
cmp rax, 3
je 0x1400938d7
cmp rax, 1
jne 0x140093944
xor r10d, r10d
cmp word [r11], 0
setne r10b
mov r15d, 0xbfaa1b4f
nop dword [rax]
mov eax, dword [0x141dd0480]
xor edx, edx
div dword [0x141dd0484]
add eax, 0xb68dde95
imul rax, r15
shr rax, 0x3f
or eax, 0x1a233098
cmp eax, 0x7a3fe405
ja 0x140093840
mov r15, qword [rbp - 0x10]
nop dword [rax + rax]
mov eax, dword [0x141dd0488]
sub eax, dword [0x141dd048c]
xor eax, 0x80100088
or eax, 0x316dbd77
add eax, 0x46402d1e
cmp eax, 0x20ab4cc4
jb 0x140093870
test r10d, r10d
jne 0x140093a04
mov rax, qword [r9 + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [r9]
movups xmmword [rcx], xmm0
nop word [rax + rax]
mov eax, dword [0x141dd0470]
xor eax, dword [0x141dd0474]
xor eax, 0xc63229da
add eax, 0xe72e9928
xor eax, 0xb223a268
cmp eax, 0xa7c99366
jbe 0x1400938b0
jmp 0x14009486b
cmp word [r11 + 2], 0x3a
jne 0x140093950
movzx eax, word [r11 + 4]
test ax, ax
je 0x140093f12
xor edx, edx
nop
test dl, dl
jne 0x1400938f0
cmp ax, 0x2f
je 0x140093ef8
movzx eax, ax
cmp eax, 0x5c
jne 0x140093950
movzx r10d, word [r11]
movzx r15d, r10w
nop
mov eax, dword [0x141dd05f8]
xor edx, edx
div dword [0x141dd05fc]
imul eax, eax, 0x35c294b5
cmp eax, 0x7f70417e
je 0x140093910
cmp r15d, 0x2f
je 0x140093f92
cmp r15d, 0x5c
mov r15, qword [rbp - 0x10]
je 0x1400939a4
jmp 0x140093f5d
jbe 0x140093a04
nop word [rax + rax]
mov eax, dword [0x141dd0600]
or eax, dword [0x141dd0604]
xor eax, 0x4040
or eax, 0x3a851537
and eax, 0x7b85d777
cmp eax, 0x97f8cbff
ja 0x140093950
movzx r10d, word [r11]
nop word cs:[rax + rax]
mov eax, dword [0x141dd0608]
xor edx, edx
div dword [0x141dd060c]
and eax, 0x17362cb
add eax, 0xd3ba18a7
xor eax, 0x19023a84
cmp eax, 0xdc9e634f
ja 0x140093980
cmp r10w, 0x5c
je 0x1400939b4
movzx eax, r10w
cmp eax, 0x2f
jne 0x140093a04
movzx eax, word [r11 + 2]
nop dword [rax]
mov edx, dword [0x141dd0610]
xor edx, dword [0x141dd0614]
add edx, 0xe6cc37b2
or edx, 0xb56dacf8
add edx, 0xdf2212e8
cmp edx, 0x2f580f60
jb 0x1400939c0
cmp eax, 0x5c
je 0x1400939f0
cmp eax, 0x2f
jne 0x140093a04
mov qword [r15], 0
nop dword [rax + rax]
mov eax, dword [0x141dd0490]
imul eax, dword [0x141dd0494]
add eax, 0xd04ef783
or eax, 0xe03fff1
mov qword [r15 + 8], 2
mov qword [r15 + 0x10], 0
cmp eax, 0xafa1daac
jae 0x140093a50
mov qword [r15 + 8], 2
mov qword [r15 + 0x10], 0
jmp 0x140093a10
mov byte [rbp + 7], r8b
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x40], r11
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x50], r9
mov r13d, 0x200
mov eax, 2
mov qword [rbp - 0x30], rax
xor eax, eax
mov qword [rbp - 0x38], rax
mov r12d, 0xffffffff
mov r14d, 0xb0f3a745
xor edi, edi
xor r15d, r15d
nop word cs:[rax + rax]
cmp r13, 0x201
jae 0x140093ac0
mov eax, 0x200
mov qword [rbp - 0x18], rax
mov rbx, qword [rbp - 0x68]
mov rsi, r13
jmp 0x140093b9a
sub r13, r15
sub rdi, r15
cmp r13, rdi
jbe 0x140093b76
mov eax, dword [0x141dd0498]
or eax, dword [0x141dd049c]
add eax, 0x7b4492de
and eax, 0x3758983
imul eax, eax, 0x590f29af
cmp eax, 0x15bf8cad
je 0x140093cf1
mov rdi, qword [rbp - 0x10]
mov esi, dword [0x141dd04a0]
add esi, dword [0x141dd04a4]
and esi, 0x2762ff73
add esi, 0x8cc0dcc1
or esi, 0x8665c40d
sub rsp, 0x30
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, rdi
mov rdx, r15
mov r8, r13
call fcn.1400fd630
add rsp, 0x30
cmp esi, 0xa71320a5
jb 0x140093afa
mov rax, qword [rdi]
mov qword [rbp - 0x38], rax
nop dword [rax]
mov eax, dword [0x141dd04a8]
or eax, dword [0x141dd04ac]
and eax, 0x9368a782
imul eax, eax, 0x70e0cc04
cmp eax, 0x9259cc60
je 0x140093b50
mov rax, qword [rdi + 8]
mov qword [rbp - 0x30], rax
mov rdi, qword [rbp - 0x38]
cmp rdi, r12
mov r15d, 0xffffffff
cmovb r15, rdi
mov rax, qword [rbp - 0x10]
mov qword [rax + 0x10], r15
mov qword [rbp - 0x18], r15
mov rbx, qword [rbp - 0x30]
mov rsi, r15
sub rsp, 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp - 0x40]
mov edx, esi
mov qword [rbp - 8], rbx
mov r8, rbx
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
add rsp, 0x20
mov ebx, eax
test eax, eax
jne 0x140093bdc
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
test eax, eax
jne 0x140093d8e
mov r13d, ebx
nop
mov eax, dword [0x141dd04b8]
sub eax, dword [0x141dd04bc]
add eax, 0x56998672
xor eax, 0x40200240
and eax, 0xc221cac0
cmp eax, 0xa7f232eb
jb 0x140093be0
cmp rsi, r13
jne 0x140093ca0
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
nop dword [rax]
mov ecx, dword [0x141dd04c0]
and ecx, dword [0x141dd04c4]
and ecx, 0x98648e85
imul ecx, ecx, 0x2e507ffe
add ecx, 0x25663c6c
cmp ecx, 0xf6733277
ja 0x140093c20
cmp eax, 0x7a
jne 0x140093f9b
lea rax, [rsi + rsi]
nop word cs:[rax + rax]
mov ecx, dword [0x141dd04d8]
or ecx, dword [0x141dd04dc]
or ecx, 0x31800440
xor ecx, 0x20000622
or ecx, 0x4e47918d
cmp rsi, 0x7fffffff
mov r13, rax
cmova r13, r12
cmp ecx, 0xf8133f3c
ja 0x140093c60
jmp 0x140093aa0
mov eax, dword [0x141dd04c8]
or eax, dword [0x141dd04cc]
add eax, 0x258641cf
and eax, 0x69bde2ac
cmp eax, 0x9a09eba
jb 0x140093ca0
nop dword [rax]
mov eax, dword [0x141dd04d0]
imul eax, dword [0x141dd04d4]
and eax, 0xc4a6df4b
imul rax, r14
shr rax, 0x3e
xor eax, 0x710c3532
cmp eax, 0x8b6f0e32
ja 0x140093cc0
cmp rsi, r13
jb 0x140093aa0
jmp 0x140093d1c
sub rsp, 0x30
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, qword [rbp - 0x10]
mov rdx, r15
mov r8, r13
call fcn.1400fd630
add rsp, 0x30
jmp 0x140093af6
cmp qword [rbp - 0x18], r13
jb 0x140094805
mov r12, qword [rbp - 0x50]
mov r10, qword [rbp - 0x40]
mov r14, qword [rbp - 0x60]
mov r15, qword [rbp - 0x58]
nop word cs:[rax + rax]
mov eax, dword [0x141dd04f0]
xor eax, dword [0x141dd04f4]
and eax, 0xb0319902
add eax, 0x40acbcc4
xor eax, 0xc0eef72f
cmp eax, 0xae338c2b
ja 0x140093d40
mov eax, dword [0x141dd04f8]
add eax, dword [0x141dd04fc]
xor eax, 0xfdc31977
imul eax, eax, 0x38ce244f
add eax, 0x47242f9a
cmp eax, 0x452f06d9
jb 0x14009403d
jmp 0x140094010
mov rbx, qword [rbp - 0x50]
mov r14, qword [rbp - 0x40]
mov r15, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov edi, dword [0x141dd04b0]
add edi, dword [0x141dd04b4]
xor edi, 0xc1dab5f3
sub rsp, 0x20
call r15
add rsp, 0x20
cmp edi, 0xdabb371e
jbe 0x140093dd2
sub rsp, 0x20
call r15
add rsp, 0x20
jmp 0x140093da0
mov esi, eax
shl rsi, 0x20
or rsi, 2
cmp qword [rbp - 0x38], 0
je 0x140093dfe
mov rcx, qword [0x141ddb9a0]
sub rsp, 0x20
xor edx, edx
mov r8, qword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rcx, qword [rbp - 0x48]
mov qword [rcx + 8], rsi
movabs rax, 0x8000000000000000
mov qword [rcx], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd05d8]
add eax, dword [0x141dd05dc]
xor eax, 0x2000200
or eax, 0x45ebad70
and eax, 0xc7efef70
cmp eax, 0xd8de8d2f
ja 0x140093e20
cmp qword [rbx], 0
je 0x14009486b
mov eax, dword [0x141dd0618]
xor edx, edx
div dword [0x141dd061c]
imul eax, eax, 0x85f1485f
add eax, 0xdfc04425
cmp eax, 0xda6c218
jae 0x140093e73
mov rax, qword [0x141ddb9a0]
mov rsi, qword [0x141ddb9a0]
mov eax, dword [0x141dd0620]
or eax, dword [0x141dd0624]
add eax, 0xafa889cc
or eax, 0xbf5fffaf
cmp eax, 0xd6daa3f6
jbe 0x140093ead
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov ebx, dword [0x141dd0628]
imul ebx, dword [0x141dd062c]
xor ebx, 0x22af7963
add ebx, 0x3151f6ff
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call rdi
add rsp, 0x20
cmp ebx, 0xbfbb340
jb 0x140093ec0
jmp 0x14009486b
movzx r10d, word [r11]
cmp r10d, 0x2f
je 0x1400939a4
cmp r10d, 0x5c
je 0x1400939a4
jmp 0x140093f5d
movzx eax, word [r11]
nop word cs:[rax + rax]
mov edx, dword [0x141dd05e0]
add edx, dword [0x141dd05e4]
imul rdx, rdx, 0x155bd06f
shr rdx, 0x3c
add edx, 0x4e892b77
and edx, 0x4c082123
cmp edx, 0x2efc7393
jb 0x140093f20
cmp eax, 0x2f
je 0x140093950
cmp eax, 0x5c
je 0x140093950
mov eax, dword [0x141dd05e8]
xor eax, dword [0x141dd05ec]
add dword [0xf1b7ed70], ecx
mov r15, qword [rbp - 0x10]
jmp 0x1400939a4
mov eax, dword [0x141dd04e0]
imul eax, dword [0x141dd04e4]
imul eax, eax, 0xaa7ee048
imul rcx, rax, 0x4ed71c3d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
xor eax, 0xd307f043
cmp eax, 0x74374eb2
jae 0x140093fd0
ud2
mov eax, 0x84b05a87
mov eax, dword [0x141dd0500]
xor edx, edx
div dword [0x141dd0504]
add eax, 0x487f8d55
or eax, 0xc3f722f1
add eax, 0xd5c433f9
mov qword [r12 + 0x10], 0
cmp eax, 0xfec9c169
jbe 0x140094048
mov qword [r12 + 0x10], 0
jmp 0x140094010
cmp ebx, 0xf6
ja 0x14009406b
cmp byte [rbp + 7], 0
jne 0x14009406b
mov rax, qword [r12]
cmp rax, r13
jbe 0x14009416c
mov r14, rax
jmp 0x1400946fa
cmp ebx, 2
jbe 0x140094100
mov rax, qword [rbp - 8]
movzx eax, word [rax + 2]
cmp eax, 0x3a
jne 0x1400941e0
nop word cs:[rax + rax]
mov ecx, dword [0x141dd0550]
imul ecx, dword [0x141dd0554]
invalid
rol dword [rcx], cl
imul ecx, ecx, 0x923aa701
add ecx, 0x38b3e9a2
xor ecx, 0x97932564
cmp ecx, 0xc59adf2b
jb 0x140094090
mov rcx, qword [rbp - 8]
movzx ecx, word [rcx + 4]
nop
mov edx, dword [0x141dd0558]
and edx, dword [0x141dd055c]
imul edx, edx, 0x403dd205
add edx, 0xc9084fa1
cmp edx, 0xcb300359
ja 0x1400940c0
mov eax, dword [0x141dd0540]
add eax, dword [str.GSBH_]
or eax, 0xab92c7e1
add eax, 0x2be27f82
cmp eax, 0xec3a275a
ja 0x140094100
cmp ebx, 2
jne 0x14009435b
mov rsi, qword [rbp - 0x28]
mov r9, qword [rbp - 0x20]
mov rbx, qword [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dd0548]
xor edx, edx
div dword [0x141dd054c]
add eax, 0x76c6e7b0
cmp eax, 0x2386575b
jb 0x140094140
movzx ecx, word [rbx]
cmp cx, 0x5c
je 0x1400943bb
jmp 0x140094402
lea rcx, [r13 + 1]
mov qword [rbp - 0x18], rcx
lea rsi, [rcx + rcx]
nop dword [rax + rax]
mov edi, 2
xor r15d, r15d