Function at 0x1401d86a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x1415a80ec]
add eax, dword [0x1415a80e8]
mov ecx, eax
and ecx, 0x980ccb1f
xor ecx, 0x8008112
and eax, 0x8008112
or eax, ecx
or eax, 0x67f334e0
mov ecx, eax
xor ecx, 0x905d39bf
and ecx, eax
cmp ecx, 0xd39af984
ja 0x1401d873b
mov eax, dword [0x1415a80f4]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x1415a80f0]
xor ecx, eax
mov eax, ecx
xor eax, 0xee603ad1
add eax, ecx
and ecx, 0x119fc52e
sub eax, ecx
add eax, 0x39c3a14
imul rcx, rax, 0x18a71735
shr rcx, 0x3c
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rbx, rsp
cmp ecx, 0xb6c66b7e
jne 0x1401d874a
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
jmp 0x1401d86ee
xor eax, eax
test al, al
jne 0x1401d8776
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r15, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r12, rsp
xor eax, eax
test al, al
je 0x1401d8792
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
jmp 0x1401d8750
sub rsp, 0x30
mov qword [rsp + 0x20], r12
mov rcx, rdi
mov edx, 0x3c
xor r8d, r8d
xor r9d, r9d
call fcn.14020b7b0
add rsp, 0x30
test eax, eax
js 0x1401d8820
nop word cs:[rax + rax]
mov ecx, dword [0x1415a8138]
mov eax, dword [0x1415a813c]
mov edx, ecx
xor edx, eax
not edx
and edx, eax
add edx, edx
sub eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x2e8aea93
mov edx, eax
and edx, 0xd175156c
imul edx, ecx
mov ecx, eax
and ecx, 0x2e8aea93
or eax, 0x2e8aea93
imul eax, ecx
add eax, edx
add eax, 0x9ccb1b3e
cmp eax, 0xaf15cd6d
ja 0x1401d87c0
mov r14d, dword [r12]
xor eax, eax
test al, al
je 0x1401d8b9e
jmp 0x1401d8be8
mov r14d, eax
or r14d, 0x10000000
mov qword [rbx], 0
xor eax, eax
test al, al
jne 0x1401d886f
mov r13d, dword [0x1415a80f8]
or r13d, dword [0x1415a80fc]
add r13d, 0x25f464ce
and r13d, 0x15fa0617
sub rsp, 0x20
xor ecx, ecx
mov rdx, rbx
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
add rsp, 0x20
cmp r13d, 0x3731d7b6
jne 0x1401d8883
sub rsp, 0x20
xor ecx, ecx
mov rdx, rbx
call fcn.14020aeb0
add rsp, 0x20
jmp 0x1401d8837
mov rbx, qword [rbx]
nop word cs:[rax + rax]
mov eax, dword [0x1415a8100]
mov ecx, dword [str._rMIA_5_t]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov eax, ecx
xor eax, 0x97cf5436
xor ecx, 0x20008200
or eax, 0x1921051a
and eax, 0xd9e1055f
and ecx, 0x2600d220
or ecx, eax
cmp ecx, 0xe2d4cbee
ja 0x1401d8890
cmp r14d, 0xd0000004
jge 0x1401d8984
cmp r14d, 0x90000005
jne 0x1401d899e
test rbx, rbx
je 0x1401d87c0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1401d8900
mov rax, qword [rbx]
nop word [rax + rax]
mov ecx, dword [0x1415a8130]
mov edx, dword [0x1415a8134]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
mov edx, ecx
not edx
mov r8d, ecx
or r8d, 0xf38493e7
and edx, 0xc6a4018
mov r9d, r8d
and r9d, 0x50912f83
imul r9d, edx
and r8d, 0xaf6ed07c
or ecx, 0xffeed3ff
imul ecx, r8d
add ecx, r9d
and ecx, 0xfffffff8
xor ecx, 0xbf8c72f0
cmp ecx, 0x1c116bb3
jb 0x1401d8910
sub rsp, 0x20
mov rcx, rbx
call qword [rax + 0x10]
add rsp, 0x20
jmp 0x1401d87c0
cmp r14d, 0xd0000023
jge 0x1401d8a8b
cmp r14d, 0xd0000004
je 0x1401d88e9
mov eax, 0xcb208ecb
nop word cs:[rax + rax]
mov ecx, dword [0x1415a8108]
mov edx, dword [0x1415a810c]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
imul rcx, rax
shr rcx, 0x3e
lea edx, [rcx - 0x41fd6efc]
mov r8d, ecx
not r8d
and r8d, 0x1946cf1
mov r9d, edx
and r9d, 0x38009106
imul r9d, r8d
and edx, 0x86020001
or ecx, 0xbf96fdf5
imul ecx, edx
add ecx, r9d
cmp ecx, 0xf26ce706
ja 0x1401d89b0
test rbx, rbx
je 0x1401d8b0b
nop dword [rax]
mov eax, dword [0x1415a8114]
add eax, dword [0x1415a8110]
or eax, 0xffef76fd
xor eax, 0x66512c61
cmp eax, 0x757500d9
jb 0x1401d8a30
mov rdi, qword [rbx]
mov eax, dword [0x1415a8118]
mov ecx, dword [0x1415a811c]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
imul eax, eax, 0x2c8d0326
add eax, 0x498d9fe6
mov ecx, eax
not ecx
and ecx, 0x3967f7e7
and eax, 0xc6980818
sub eax, ecx
cmp eax, 0xf62cfdd2
jbe 0x1401d8a96
jmp 0x1401d8ad0
je 0x1401d88e9
jmp 0x1401d899e
mov eax, dword [0x1415a8120]
xor edx, edx
div dword [0x1415a8124]
imul r14d, eax, 0x6c44e300
add r14d, 0x41ee200
xor r14d, 0x188fd29f
sub rsp, 0x20
mov rcx, rbx
call qword [rdi + 0x10]
add rsp, 0x20
cmp r14d, 0x5e081e68
jbe 0x1401d8ae0
sub rsp, 0x20
mov rcx, rbx
call qword [rdi + 0x10]
add rsp, 0x20
jmp 0x1401d8a96
mov eax, dword [0x1415a8128]
and eax, dword [0x1415a812c]
xor eax, 0x6272234
mov ecx, eax
and ecx, 0x7ebb7e97
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xfe557f56
cmp eax, 0xe5adcc34
jae 0x1401d8ae0
mov qword [rsi], 0
mov qword [rsi + 8], 8
mov eax, dword [0x1415a8180]
mov ecx, dword [0x1415a8184]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
imul eax, ecx, 0xb739fbb
imul rax, rax, 0x11856db
shr rax, 0x37
imul eax, eax, 0xa74b4de7
cmp eax, 0x98e67cf4
jne 0x1401d8b60
mov qword [rsi + 0x10], 0
nop dword [rax + rax]
mov eax, dword [0x1415a8188]
mov ecx, dword [0x1415a818c]
xor ecx, eax
not ecx
and ecx, eax
add ecx, 0x4f5c771a
mov eax, ecx
and eax, 0x55067a0e
add eax, eax
sub ecx, eax
add ecx, 0xc2100540
mov qword [rsi + 0x10], 0
cmp ecx, 0xb07a2a17
ja 0x1401d8b60
jmp 0x1401d8e70
mov eax, dword [0x1415a8140]
mov ecx, dword [0x1415a8144]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
and eax, 0x4511a58e
add eax, 0xa08c79b0
and eax, 0xe59fef8e
xor eax, 0x1b3b5e17
mov dword [r15], r14d
cmp eax, 0x2bfb3383
jae 0x1401d8bed
mov dword [r15], r14d
jmp 0x1401d8b9e
mov r12d, r14d
shr r12d, 1
lea rdx, [r12 + r12]
mov eax, edx
and eax, 2
or rdx, 2
add rdx, rax
movzx eax, byte [0x1415acbd0]
sub rsp, 0x20
xor ecx, ecx
call fcn.1401ac910
add rsp, 0x20
test rax, rax
je 0x1401d8cea
mov rbx, rax
sub rsp, 0x30
mov qword [rsp + 0x20], r15
mov rcx, rdi
mov edx, 0x3c
mov r8, rax
mov r9d, r14d
call fcn.14020b7b0
add rsp, 0x30
nop word cs:[rax + rax]
mov ecx, dword [0x1415a8148]
mov edx, ecx
not edx
or edx, dword [0x1415a814c]
add ecx, edx
inc ecx
mov edx, ecx
xor edx, 0x400022c
and edx, ecx
or edx, 0x38518d93
imul ecx, edx, 0x204e1d11
cmp ecx, 0x99f95565
ja 0x1401d8c50
test eax, eax
js 0x1401d8cc4
mov eax, dword [0x1415a8170]
mov ecx, dword [0x1415a8174]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
add eax, 0x26edc969
imul rax, rax, 0x59dddf0b
shr rax, 0x3c
mov ecx, eax
xor ecx, 2
and ecx, eax
cmp ecx, 0x9a102e9e
jbe 0x1401d8de3
jmp 0x1401d8e2a
mov eax, dword [0x1415a8158]
xor edx, edx
div dword [0x1415a815c]
add eax, 0x5375c1e4
or eax, 0xd1bd155a
add eax, 0x3c437848
cmp eax, 0xe68c733e
jbe 0x1401d8d15
jmp 0x1401d8d36
ud2
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edi, edi
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
test dil, dil
je 0x1401d8d60
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
jmp 0x1401d8d15
mov eax, dword [0x1415a8160]
mov ecx, dword [0x1415a8164]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
imul eax, eax, 0x14429fd9
imul rax, rax, 0x7f5fc169
shr rax, 0x3a
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xfffffff8
and ecx, 0x611e7a87
imul ecx, edx
mov edx, eax
and edx, 7
or eax, 0x611e7a87
imul eax, edx
add eax, ecx
cmp eax, 0x72d95a1c
je 0x1401d8d60
nop dword [rax]
mov eax, dword [0x1415a816c]
add eax, dword [0x1415a8168]
or eax, 0x6b664b54
add eax, 0xb0ff274e
mov ecx, eax
xor ecx, 0x2773ea75
and eax, 0x188c158a
add eax, eax
sub eax, ecx
cmp eax, 0xad8d13b
jb 0x1401d8db0
jmp 0x1401d8b0b
mov eax, dword [0x1415a8178]
mov ecx, dword [0x1415a817c]
add eax, ecx
add eax, 0xd3db0011
imul rdi, rax, 0x24917839
shr rdi, 0x3a
add edi, 0xf3c7ef41
mov word [rbx + r12*2], 0
mov rdx, qword [rbx + 8]
sub rsp, 0x20
mov rcx, rsi
call fcn.1401d78f0
add rsp, 0x20
cmp edi, 0x6a787c42
jae 0x1401d8e47
mov word [rbx + r12*2], 0
mov rdx, qword [rbx + 8]
sub rsp, 0x20
mov rcx, rsi
call fcn.14020d9c0
add rsp, 0x20
jmp 0x1401d8de3
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x1415a8190]
xor edx, edx
div dword [0x1415a8194]
add eax, 0x99a40448
or eax, 0x64e1d2f2
cmp eax, 0xfdc61d76
jb 0x1401d8e70
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret