Function at 0x140089da0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, r9
mov r15, r8
mov rbx, rdx
mov ebp, ecx
nop dword [rax + rax]
mov eax, dword [0x141dd17e0]
sub eax, dword [0x141dd17e4]
imul rax, rax, 0x3a31e887
shr rax, 0x3d
or eax, 0xf851748c
cmp eax, 0x9dcad232
jb 0x140089dc0
test r15, r15
je 0x140089e0e
mov eax, dword [0x141dd17e8]
imul eax, dword [0x141dd17ec]
imul eax, eax, 0x2a4602fd
xor eax, 0x6d210106
or eax, 0x25cf659
cmp eax, 0xc7b9257b
jbe 0x140089e18
jmp 0x140089e4c
xor ecx, ecx
xor r14d, r14d
jmp 0x14008a5d0
mov r14d, dword [0x141dd17f0]
or r14d, dword [0x141dd17f4]
add r14d, 0xd493ba55
or r14d, 0xdb1da8ef
add r14d, 0xcd18a802
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp r14d, 0x511c1ff7
jae 0x140089e56
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
jmp 0x140089e18
mov rsi, rax
nop dword [rax]
mov eax, dword [0x141dd17f8]
xor eax, dword [0x141dd17fc]
add eax, 0x1ed7b9cf
xor eax, 0xfb0b783a
cmp eax, 0x71a93ad2
jb 0x140089e60
mov r14d, 1
test rsi, rsi
je 0x140089ed6
cmp rsi, 0xffffffffffffffff
jne 0x140089ee5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
shl rcx, 0x20
or rcx, 2
nop
mov eax, dword [0x141dd1800]
sub eax, dword [0x141dd1804]
or eax, 0x74a90aa6
and eax, 0xf4b93ba6
imul rdx, rax, 0x13d3158d
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
cmp eax, 0x55d9c9d9
ja 0x140089ea0
jmp 0x14008a5d0
movabs rcx, 0x600000002
jmp 0x14008a5d0
mov eax, dword [0x141dd1810]
xor eax, dword [0x141dd1814]
add eax, 0xce011c56
xor eax, 0x526a13fe
add eax, 0x5864abeb
cmp eax, 0xfaf2e64a
jbe 0x140089f1d
mov dword [rsp + 0x28], 0
lea rdx, [rsp + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
lea r12, [rsp + 0x28]
mov r13, qword [sym.imp.KERNEL32.dll_GetConsoleMode]
nop dword [rax]
mov ebp, dword [0x141dd1818]
xor ebp, dword [0x141dd181c]
and ebp, 0xda8004c
xor ebp, 0xa00084
or ebp, 0xf257f633
mov dword [rsp + 0x28], 0
mov rcx, rsi
mov rdx, r12
call r13
cmp ebp, 0xa2401bd7
jb 0x140089f30
test eax, eax
je 0x14008a2d4
nop
mov eax, dword [0x141dd1830]
imul eax, dword [0x141dd1834]
imul eax, eax, 0xde0dcdb3
or eax, 0xe45c5765
cmp eax, 0xdbb44327
je 0x140089f70
movzx ecx, byte [rdi + 4]
nop word cs:[rax + rax]
mov eax, dword [0x141dd1838]
sub eax, dword [0x141dd183c]
or eax, 0x4931a4b8
imul eax, eax, 0x30ab6328
and eax, 0x4b4db0a0
cmp eax, 0x45925046
je 0x140089fa0
test rcx, rcx
je 0x14008a2fa
nop dword [rax]
mov eax, dword [0x141dd1850]
xor eax, dword [0x141dd1854]
add eax, 0x6f2483ce
xor eax, 0x8fdac411
add eax, 0xc92ff9c0
cmp eax, 0xbb24d00
jb 0x140089fd0
nop word cs:[rax + rax]
mov eax, dword [0x141dd1858]
xor eax, dword [0x141dd185c]
xor eax, 0xc5698ed5
imul eax, eax, 0xb2217135
add eax, 0xd57124b0
cmp eax, 0x5e2185ad
ja 0x14008a000
cmp cl, 4
jae 0x14008a80e
mov eax, dword [0x141dd18f0]
xor edx, edx
div dword [0x141dd18f4]
xor eax, eax
nop dword [rax]
test al, al
jne 0x14008a040
movzx r8d, byte [rbx]
mov r9d, r8d
and r9b, 0xc0
nop
mov eax, dword [0x141dd18f8]
xor edx, edx
div dword [0x141dd18fc]
imul rdx, rax, 0x2e3b8c75
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1b
add eax, 0xcdea50cd
cmp eax, 0xe28fd3c9
ja 0x14008a050
cmp r9b, 0x80
jne 0x14008a41c
mov byte [rdi + rcx], r8b
movzx ecx, byte [rdi + 4]
mov eax, dword [0x141dd1910]
xor eax, dword [0x141dd1914]
inc cl
and eax, 0x810074d0
imul eax, eax, 0x97974da3
cmp eax, 0x881ec72
jae 0x14008a0c0
mov byte [rdi + 4], cl
nop word cs:[rax + rax]
mov eax, dword [0x141dd1918]
xor eax, dword [0x141dd191c]
add eax, 0x78bc8e86
shr eax, 2
imul rax, rax, 0x45d52d7d
shr rax, 0x3b
or eax, 0x6be52e10
mov byte [rdi + 4], cl
cmp eax, 0xe829004d
ja 0x14008a0c0
movzx eax, byte [rdi]
lea rdx, [0x141dbb9d8]
movzx ebx, byte [rax + rdx]
cmp cl, bl
jae 0x14008a110
mov ecx, 1
xor r14d, r14d
jmp 0x14008a5d0
mov eax, dword [0x141dd1920]
and eax, dword [0x141dd1924]
and eax, 0xcf7f54c8
xor eax, 0x809a5b62
add eax, 0xb1e65730
cmp eax, 0xf5e6a8d7
ja 0x14008a110
mov eax, dword [0x141dd1928]
xor edx, edx
div dword [0x141dd192c]
mov eax, 0x8cfe2277
nop word cs:[rax + rax]
mov edx, dword [0x141dd1930]
add edx, dword [0x141dd1934]
imul edx, edx, 0x2eb538a
add edx, 0x2abb786
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xa8194908
ja 0x14008a150
mov eax, 0xa62eb5dd
nop dword [rax]
mov edx, dword [0x141dd1938]
and edx, dword [0x141dd193c]
shr edx, 1
imul rdx, rax
shr rdx, 0x38
cmp edx, 0x3383adea
je 0x14008a180
cmp cl, 4
ja 0x14008a56d
movzx r8d, cl
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.140055780
xor eax, eax
test al, al
je 0x14008a1d0
mov byte [rdi + 4], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dd1940]
imul eax, dword [0x141dd1944]
or eax, 0xa7020844
and eax, 0xf74aa84c
mov byte [rdi + 4], 0
cmp eax, 0x9cb1b3e0
je 0x14008a1d0
cmp qword [rsp + 0x28], 0
je 0x14008a210
mov r14d, 1
lea rcx, [0x141dbbb28]
jmp 0x14008a5d0
mov eax, dword [0x141dd1950]
and eax, dword [0x141dd1954]
add eax, 0x844e73e9
or eax, 0x3ad9fda7
and eax, 0xbadffdf7
cmp eax, 0x276c038d
jb 0x14008a210
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x141dd1958]
xor edx, edx
div dword [0x141dd195c]
nop word cs:[rax + rax]
mov eax, dword [0x141dd1960]
xor edx, edx
div dword [0x141dd1964]
add eax, 0xeda1975
cmp eax, 0xae54da8f
ja 0x14008a250
cmp rcx, rbx
jne 0x14008a80e
nop word cs:[rax + rax]
mov eax, dword [0x141dd1968]
mov ecx, dword [0x141dd196c]
add eax, ecx
add eax, 0x4076bfd6
or eax, 0x81e93d74
and eax, 0xc3fdbdfe
cmp eax, 0xb1f11971
je 0x14008a280
mov rdi, qword [rsp + 0x30]
mov eax, dword [0x141dd1970]
or eax, dword [0x141dd1974]
or eax, 0x41600
xor eax, 0x10100
and eax, 0x51718
cmp eax, 0x550b7adb
jne 0x14008a810
jmp 0x14008a843
mov eax, dword [0x141dd1820]
or eax, dword [0x141dd1824]
and eax, 0xa8c22021
add eax, 0x1cebce9c
cmp eax, 0xc1346ec8
jbe 0x14008a609
jmp 0x14008a646
cmp r15, 0x1000
mov r14d, 0x1000
cmovb r14, r15
mov eax, dword [0x141dd1840]
xor edx, edx
div dword [0x141dd1844]
add eax, 0xe1225f72
xor eax, 0x6e33a7da
cmp eax, 0x23b1884f
jae 0x14008a33a
lea rcx, [rsp + 0x40]
mov rdx, rbx
mov r8, r14
call fcn.140055780
lea r12, [rsp + 0x40]
nop
mov ebp, dword [0x141dd1848]
sub ebp, dword [0x141dd184c]
add ebp, 0x8c583340
xor ebp, 0x1a094510
and ebp, 0x5b5dc511
mov rcx, r12
mov rdx, rbx
mov r8, r14
call fcn.140055780
cmp ebp, 0x5f39ffb7
ja 0x14008a340
cmp qword [rsp + 0x40], 0
je 0x14008a482
mov eax, dword [0x141dd1870]
xor eax, dword [0x141dd1874]
xor eax, 0xa091a856
add eax, 0x9e0a080d
cmp eax, 0x4a278423
jb 0x14008a380
mov r14, qword [rsp + 0x48]
mov eax, 0xa1a0d4f5
nop word [rax + rax]
mov ecx, dword [0x141dd1878]
and ecx, dword [0x141dd187c]
add ecx, 0xaba564bd
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x68c196dc
ja 0x14008a3b0
test r14, r14
je 0x14008a4de
nop dword [rax + rax]
mov eax, dword [0x141dd1880]
add eax, dword [0x141dd1884]
imul eax, eax, 0x9bdb49ab
or eax, 0xc8b506a5
imul eax, eax, 0x441266e5
cmp eax, 0x9a6b9e53
je 0x14008a3e0
cmp r14, r15
ja 0x14008a597
xor eax, eax
test al, al
je 0x14008a66b
jmp 0x14008a6a3
xor eax, eax
test al, al
je 0x14008a430
mov byte [rdi + 4], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dd1900]
add eax, dword [0x141dd1904]
or eax, 0xfe7aec3d
add eax, 0xa2c26e90
mov byte [rdi + 4], 0
cmp eax, 0xd35b8692
ja 0x14008a430
lea rcx, [0x141dbbb28]
nop dword [rax + rax]
mov eax, dword [0x141dd1908]
or eax, dword [0x141dd190c]
and eax, 0xa40021ae
add eax, 0x6555929d
cmp eax, 0x52dc8421
jbe 0x14008a460
jmp 0x14008a5d0
mov rdx, qword [rsp + 0x48]
nop word [rax + rax]
mov eax, dword [0x141dd1860]
or eax, dword [0x141dd1864]
xor eax, 0xde67ac83
imul rax, rax, 0x1b064d1f
shr rax, 0x3a
imul eax, eax, 0x28d18c83
cmp eax, 0x866c75f9
jb 0x14008a490
mov r8, qword [rsp + 0x50]
nop
mov eax, dword [0x141dd1868]
xor eax, dword [0x141dd186c]
imul eax, eax, 0x61c76f9c
cmp eax, 0x877e0dae
je 0x14008a4c0
jmp 0x14008a661
movzx eax, byte [rbx]
lea rcx, [0x141dbb9d8]
movzx edx, byte [rax + rcx]
mov r14d, 1
lea rcx, [0x141dbbb28]
cmp rdx, 2
jb 0x14008a5d0
cmp rdx, r15
jbe 0x14008a5d0
xor ecx, ecx
test cl, cl
je 0x14008a514
mov byte [rdi], al
mov ecx, dword [0x141dd1888]
imul ecx, dword [0x141dd188c]
and ecx, 0x222045
or ecx, 0xd1509d1a
imul rcx, rcx, 0x4ba912a5
shr rcx, 0x3c
mov byte [rdi], al
cmp ecx, 0x25544ba1
ja 0x14008a514
mov byte [rdi + 4], 1
xor r14d, r14d
mov eax, dword [0x141dd1890]
or eax, dword [0x141dd1894]
xor eax, 0x30081000
and eax, 0x74285414
cmp eax, 0x8a021318
ja 0x14008a549
mov ecx, 1
jmp 0x14008a5d0
ud2
mov eax, dword [0x141dd18b8]
add eax, dword [0x141dd18bc]
xor eax, 0xda0814d8
imul rax, rax, 0x2ae72b41
shr rax, 0x3c
cmp eax, 0x916f56a6
jne 0x14008a7c7
jmp 0x14008a7e7
mov eax, dword [0x141dd1808]
xor eax, dword [0x141dd180c]
and eax, 0x303a0584
add eax, 0x56af98d6
xor eax, 0x107d532
cmp eax, 0x77b52dd1
ja 0x14008a5d0
mov rax, r14
mov rdx, rcx
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dd1828]
xor edx, edx
div dword [0x141dd182c]
imul eax, eax, 0x996647df
mov edi, 0x8e56ae07
imul rdi, rax
shr rdi, 0x3e
xor edi, 0x62564ecf
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.14008a8b0
cmp edi, 0xdab0da3c
jbe 0x14008a656
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.14008a8b0
jmp 0x14008a609
mov r14, rax
mov rcx, rdx
jmp 0x14008a5d0
mov rcx, rsi
call fcn.14008abe0
jmp 0x14008a656
mov eax, dword [0x141dd1898]
xor edx, edx
div dword [0x141dd189c]
imul edi, eax, 0xd561f587
add edi, 0xd4d07a1
xor edi, 0xffef55d
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8, r14
call fcn.140055780
cmp edi, 0x82a9206a
jbe 0x14008a6b5
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8, r14
call fcn.140055780
jmp 0x14008a66b
mov eax, dword [0x141dd18a0]
xor edx, edx
div dword [0x141dd18a4]
nop word cs:[rax + rax]
mov eax, dword [0x141dd18a8]
sub eax, dword [0x141dd18ac]
or eax, 0xda18cdf1
add eax, 0x1bf5cff8
and eax, 0x8c8344ce
cmp eax, 0x5717db8d
ja 0x14008a6d0
mov rax, qword [rsp + 0x28]
nop word [rax + rax]
mov ecx, dword [0x141dd18b0]
or ecx, dword [0x141dd18b4]
xor ecx, 0x61fd020f
add ecx, 0x1350bf6b
or ecx, 0x87466fad
cmp ecx, 0x59e09861
jb 0x14008a700
test rax, rax
jne 0x14008a80e
nop
mov eax, dword [0x141dd18d0]
add eax, dword [0x141dd18d4]
xor eax, 0x9d98e5e8
add eax, 0xa5b768dd
cmp eax, 0x8a4addcd
jb 0x14008a730
mov eax, dword [0x141dd18d8]
sub eax, dword [0x141dd18dc]
xor eax, 0x40106002
and eax, 0x5a19e40a
cmp eax, 0x8612c8d5
nop dword [rax + rax]
mov eax, dword [0x141dd18e0]
xor eax, dword [0x141dd18e4]
or eax, 0x35ede38e
xor eax, 0xff5a2390
add eax, 0xe270def9
cmp eax, 0x5241a5f2
ja 0x14008a770
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
nop dword [rax]
mov eax, dword [0x141dd18e8]
or eax, dword [0x141dd18ec]
xor eax, 0x20406300
or eax, 0x86bb9c24
and eax, 0xb7fbff6e
cmp eax, 0xe590d683
ja 0x14008a7a0
jmp 0x14008a661
mov eax, dword [0x141dd18c0]
xor eax, dword [0x141dd18c4]
and eax, 0x7c538679
imul eax, eax, 0x4446cc20
ud2
ud2
ud2
mov eax, dword [str._tu]
or eax, dword [0x141dd197c]
xor eax, 0x2b9839aa
imul r15, rax, 0x3992697b
shr r15, 0x3d
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.14008abe0
cmp r15d, 0x2d052069
jbe 0x14008a853
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.14008abe0
jmp 0x14008a810
mov r14, rax
mov rcx, rdx
test rax, rax
jne 0x14008a5d0
mov eax, dword [0x141dd1980]
xor r8d, r8d
xor edx, edx
div dword [0x141dd1984]
test r8b, r8b
jne 0x14008a873
mov eax, dword [0x141dd1988]
xor eax, dword [0x141dd198c]
add eax, 0x18d2f0c1
and eax, 0x1a021
cmp eax, 0x5ac36a73
ja 0x14008a878
cmp rbx, rcx
je 0x14008a100
jmp 0x14008a80e