Function at 0x140135040
Capabilities:
Encode data using base64
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 rbx, r8
mov r8, rdx
mov rdi, rcx
mov eax, dword [0x14159ab38]
mov ecx, dword [0x14159ab3c]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
add eax, 0xd9bd46d4
or eax, 0x54cfbbe8
and eax, 0xf5cfbbe9
cmp eax, 0xb5a6ab23
jbe 0x1401350b0
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x2000
call fcn.14020e090
sub rsp, rax
nop word [rax + rax]
mov eax, dword [0x14159ab40]
imul eax, dword [0x14159ab44]
imul rcx, rax, 0x27a32139
shr rcx, 0x37
and ecx, 0xffffffcf
xor ecx, 0xc1cc8e1f
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r14, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r15, rsp
mov eax, 0x2000
call fcn.14020e090
sub rsp, rax
mov rsi, rsp
cmp ecx, 0x3e7d46a8
jb 0x1401350b0
nop dword [rax]
mov eax, dword [0x14159ab48]
mov ecx, dword [0x14159ab4c]
mov edx, ecx
not edx
mov r9d, eax
and r9d, edx
or edx, eax
not edx
imul edx, r9d
mov r9d, eax
and r9d, ecx
or eax, ecx
imul eax, r9d
add eax, edx
mov ecx, eax
xor ecx, 0xf54a67ca
or eax, 0xab59835
and eax, ecx
mov ecx, eax
and ecx, 0x507bea56
xor eax, 0xd07bea56
lea eax, [rax + rcx*2]
mov ecx, eax
not ecx
and ecx, 0x768d7b37
mov edx, eax
and edx, 0x897284c8
imul edx, ecx
mov ecx, eax
and ecx, 0x768d7b37
or eax, 0x768d7b37
imul eax, ecx
add eax, edx
cmp eax, 0x30682249
je 0x140135110
cmp rbx, 0x1001
jb 0x1401352d1
movzx ecx, byte [r8 + 0x1000]
nop
mov eax, dword [0x14159ab50]
xor edx, edx
div dword [0x14159ab54]
shr eax, 1
imul rax, rax, 0x44bb5c31
shr rax, 0x3d
imul eax, eax, 0xf82f97d0
or eax, 0xc091219e
cmp eax, 0x261818ce
je 0x1401351a0
mov ebx, 0x1000
cmp cl, 0xbf
jg 0x1401352d1
mov eax, 0x9380c875
mov ecx, dword [0x14159ab58]
xor ecx, dword [0x14159ab5c]
add ecx, 0xef048955
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xa74089a2
cmp ecx, 0x430f4064
jb 0x1401351e0
nop dword [rax + rax]
mov eax, dword [0x14159ab60]
xor edx, edx
div dword [0x14159ab64]
mov ecx, eax
not ecx
and ecx, 0x5a9a21f4
mov edx, eax
and edx, 0xa565de0b
imul edx, ecx
mov ecx, eax
and ecx, 0x5a9a21f4
or eax, 0x5a9a21f4
imul eax, ecx
add eax, edx
imul eax, eax, 0xf0d549bf
mov ecx, eax
not ecx
and ecx, 0xa8efca86
mov edx, eax
and edx, 0x57103578
imul edx, ecx
mov ecx, eax
and ecx, 0xa8efca84
or eax, 0xa8efca86
imul eax, ecx
add eax, edx
cmp eax, 0x80ec1137
ja 0x140135210
mov ebx, 0xfff
cmp byte [r8 + 0xfff], 0xbf
jg 0x1401352d1
nop dword [rax + rax]
mov ecx, dword [0x14159ab68]
xor ecx, dword [0x14159ab6c]
add ecx, 0x71df4565
and ecx, 0xe3190f5
xor ebx, ebx
cmp byte [r8 + 0xffe], 0xc0
setge al
cmp ecx, 0x9457da45
je 0x140135290
mov bl, al
add rbx, 0xffd
cmp byte [r8 + rbx], 0xbf
jle 0x1401354b9
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0x1000
mov ecx, 0xfde9
mov edx, 8
mov r9d, ebx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
test eax, eax
je 0x140135435
mov r12d, eax
cdqe
mov qword [rbp], rax
nop word [rax + rax]
mov eax, dword [0x14159ab98]
mov ecx, dword [str.i_aXq]
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
mov ecx, eax
and ecx, 0x20256464
and eax, 0x250464
add eax, eax
sub ecx, eax
add ecx, 0x580790cf
cmp ecx, 0xb4bd6053
ja 0x140135310
nop dword [rax + rax]
mov eax, dword [0x14159aba0]
sub eax, dword [0x14159aba4]
mov ecx, eax
xor ecx, 0xe545d91c
xor eax, 0x1aba26e3
mov edx, eax
and edx, 0xff122734
and ecx, 0xedd8cb
imul ecx, edx
mov edx, eax
and edx, 0xedd8cb
or eax, 0xedd8cb
imul eax, edx
add eax, ecx
and eax, 0xd5e137e6
cmp eax, 0x9d19b16b
je 0x140135360
nop dword [rax + rax]
mov eax, dword [0x14159aba8]
xor eax, dword [0x14159abac]
or eax, 0x353d6f17
add eax, 0xda06531d
mov ecx, eax
not ecx
and ecx, 0xc155ac4a
mov edx, eax
and edx, 0x1e8251b4
imul edx, ecx
mov ecx, eax
and ecx, 0xc1458248
or eax, 0xc155ae4a
imul eax, ecx
add eax, edx
cmp eax, 0x226080de
jb 0x1401353b0
cmp r12d, 0x1000
ja 0x140135474
mov eax, dword [0x14159abb0]
xor edx, edx
div dword [0x14159abb4]
lea ecx, [rax - 0x6f66eb3a]
not ecx
or ecx, 0xf6a219e
add eax, ecx
add eax, 0x909914c7
or eax, 0x8f8ecd2e
cmp eax, 0xd6fb6b80
jbe 0x14013557f
jmp 0x140135601
mov eax, dword [0x14159ab80]
add eax, dword [0x14159ab84]
mov ecx, eax
not ecx
and ecx, 0xce1e3245
and eax, 0x31e1cdba
sub eax, ecx
or eax, 0x31f7655e
shr eax, 1
imul rax, rax, 0x49dc9c89
shr rax, 0x3c
cmp eax, 0xe68e94b8
jbe 0x140135528
jmp 0x14013555b
mov eax, dword [0x14159abc8]
or eax, dword [0x14159abcc]
shr eax, 1
imul rax, rax, 0x313fd5cd
shr rax, 0x37
mov ecx, eax
and ecx, 0xfffffff5
xor eax, 0x3b9d96b5
lea eax, [rax + rcx*2]
mov ecx, eax
and ecx, 0x200c91c8
or eax, 0x644cb1c8
add eax, ecx
cmp eax, 0x85ce73c8
jne 0x140135d74
jmp 0x140135d9b
mov eax, dword [0x14159ab70]
mov ecx, dword [0x14159ab74]
not ecx
not eax
mov edx, eax
or edx, ecx
and eax, ecx
not eax
and eax, edx
and eax, 0xc9cb346c
xor eax, 0x18b004c
imul rax, rax, 0x6e751101
shr rax, 0x3e
cmp eax, 0xddd7883d
ja 0x140135522
mov eax, dword [0x14159ab7c]
mov ecx, eax
xor ecx, ecx
not ecx
and ecx, dword [0x14159ab78]
xor ecx, eax
add ecx, 0x7ca6ad1c
imul rax, rcx, 0x47699b67
shr rax, 0x3d
or eax, 0x813633d
ud2
ud2
ud2
mov eax, dword [0x14159ab88]
imul eax, dword [0x14159ab8c]
add eax, 0x572d5f39
mov ecx, eax
not ecx
or ecx, 0x14877ddb
and eax, 0x60508200
xor ecx, 0x8bac59ff
lea eax, [rcx + rax*2]
ud2
ud2
mov ecx, dword [0x14159abb8]
mov eax, dword [0x14159abbc]
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
mov edx, eax
and edx, 0xa9bcb39c
and ecx, 0x56434c63
imul ecx, edx
mov edx, eax
and edx, 0x56434c63
or eax, 0x56434c63
imul eax, edx
add eax, ecx
mov r13d, 0xc9898619
imul r13, rax
shr r13, 0x3f
mov dword [r15], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rsi
mov r8d, r12d
mov r9, r15
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
cmp r13d, 0x97dd3c86
jne 0x140135630
mov dword [r15], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rsi
mov r8d, r12d
mov r9, r15
call fcn.14020cc80
add rsp, 0x30
jmp 0x14013557f
mov edx, dword [0x14159abc0]
mov ecx, dword [str.TU1]
mov r8d, edx
xor r8d, ecx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, r8d
add ecx, 0xc3a2f3b5
mov edx, ecx
not edx
and edx, 0x2ed2716e
mov r8d, ecx
and r8d, 0xd12d8e91
imul r8d, edx
mov edx, ecx
and edx, 0x2ed2716e
or ecx, 0x2ed2716e
imul ecx, edx
add ecx, r8d
mov edx, ecx
and edx, 0x6978ee92
add edx, edx
sub ecx, edx
add ecx, 0x6978ee92
cmp ecx, 0x2c3dd43e
jb 0x140135630
test eax, eax
je 0x140135a09
mov r15d, dword [r15]
nop word cs:[rax + rax]
mov eax, dword [0x14159abe0]
imul eax, dword [0x14159abe4]
add eax, 0xec351d67
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x6398b70d
and ecx, 0x9c6748f2
imul ecx, edx
mov edx, eax
and edx, 0x9c6748f2
or eax, 0x9c6748f2
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x136a2c2e
mov edx, eax
and edx, 0xec95d3d0
imul edx, ecx
mov ecx, eax
and ecx, 0x136a2c2e
or eax, 0x136a2c2e
imul eax, ecx
add eax, edx
cmp eax, 0xa5335cff
ja 0x1401356b0
nop word [rax + rax]
mov eax, dword [0x14159abe8]
sub eax, dword [0x14159abec]
not eax
mov ecx, eax
or ecx, 0x6f797912
or eax, 0x6ffbfddb
sub eax, ecx
add eax, 0x584ec50
cmp eax, 0x3a97b900
ja 0x140135720
mov rdx, qword [rbp]
cmp r15, rdx
je 0x140135d0c
nop word cs:[rax + rax]
mov eax, dword [0x14159ac00]
and eax, dword [0x14159ac04]
xor eax, 0x253be6ff
mov ecx, eax
and ecx, 0x761bcee6
add ecx, ecx
sub eax, ecx
cmp eax, 0xaa78338b
je 0x140135760
cmp r15, rdx
jae 0x140135526
lea rbx, [rsi + r15*2]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1401357a0
movzx ecx, word [rsi + r15*2]
add ecx, 0x2312
nop
mov eax, dword [0x14159ac08]
mov edx, dword [str.BGX_6]
mov r8d, eax
xor r8d, edx
not r8d
or eax, edx
and eax, r8d
add eax, 0xbc9a2e2a
imul rax, rax, 0x50574dab
shr rax, 0x3c
cmp eax, 0x8526c7c3
ja 0x1401357b0
mov eax, dword [0x14159ac10]
xor edx, edx
div dword [0x14159ac14]
nop
mov eax, dword [0x14159ac18]
xor edx, edx
div dword [0x14159ac1c]
mov edx, eax
not edx
or edx, 0x3d482079
and eax, 0x4002de80
xor edx, 0xaff52126
or edx, eax
add edx, 0xb71b5fdb
cmp edx, 0xf212e313
ja 0x1401357f0
movzx eax, cx
cmp eax, 0x312
jae 0x1401359c0
mov r12d, r15d
and r12d, 1
or r15, 1
mov eax, dword [0x14159ac20]
and eax, dword [0x14159ac24]
mov dword [r14], 0
add eax, 0x4802e1cd
mov ecx, eax
and ecx, 0x2851bb76
xor eax, 0x2851bb76
lea eax, [rax + rcx*2]
or eax, 0x2553d027
cmp eax, 0x506da3ad
jae 0x140135896
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rbx
mov r8d, 1
mov r9, r14
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
add r15, r12
mov r12, qword [sym.imp.KERNEL32.dll_WriteConsoleW]
mov eax, dword [0x14159ac28]
mov ecx, dword [0x14159ac2c]
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, 0x189626dc
mov r13d, eax
xor r13d, 0xb1049d99
xor eax, 0x4a924026
and eax, 0x5a96403e
mov ecx, r13d
and ecx, 0x1002ec0
imul ecx, eax
mov eax, r13d
and eax, 0xb896911d
or r13d, 0xfa96d13f
imul r13d, eax
add r13d, ecx
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rbx
mov r8d, 1
mov r9, r14
call r12
add rsp, 0x30
cmp r13d, 0x6c59b6a0
je 0x1401358a0
mov ecx, 0xf02e8d8d
nop dword [rax]
mov edx, dword [0x14159ac30]
mov r8d, dword [0x14159ac34]
not edx
not r8d
or r8d, edx
mov edx, r8d
not edx
and edx, 0x71877f8f
xor r8d, 0xe788070
lea edx, [r8 + rdx*2]
add edx, 0x71245a59
imul rdx, rcx
shr rdx, 0x3d
cmp edx, 0x5faaa090
je 0x140135940
test eax, eax
je 0x140135ada
nop dword [rax]
mov eax, dword [0x14159ac38]
mov ecx, dword [0x14159ac3c]
add eax, ecx
add eax, 0xc4d5b641
xor eax, 0xe5e541aa
add eax, 0x56e3f86a
cmp eax, 0xe2ce2e9b
jae 0x140135990
jmp 0x140135bb4
mov eax, dword [0x14159ac58]
mov ecx, eax
not ecx
or ecx, dword [0x14159ac5c]
add eax, ecx
inc eax
or eax, 0xc07d12ff
mov ecx, 0x48c58afd
sub ecx, eax
add eax, 0xb73a7502
and ecx, 0xf28b33ee
and eax, 0xd34cc00
or eax, ecx
cmp eax, 0x5204c7d8
jb 0x1401359c0
test r15d, r15d
jne 0x140135bb4
xor ebx, ebx
jmp 0x140135d0c
sub rsp, 0x20
call fcn.14020b260
add rsp, 0x20
movsxd rbx, eax
shl rbx, 0x20
or rbx, 2
nop word cs:[rax + rax]
mov eax, dword [0x14159abf0]
sub eax, dword [0x14159abf4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x926bfdfd
and ecx, 0x6d940202
imul ecx, edx
mov edx, eax
and edx, 0x6d940202
or eax, 0x6d940202
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xb262df2e
and eax, 0xb2029722
sub ecx, eax
cmp ecx, 0xdeae1907
je 0x140135a30
nop word [rax + rax]
mov ecx, dword [0x14159abf8]
mov eax, dword [0x14159abfc]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x350dd032
and ecx, 0x4af22fcd
imul ecx, edx
mov edx, eax
and edx, 0x4af22fcd
or eax, 0x4af22fcd
imul eax, edx
add eax, ecx
xor eax, 0x2491216a
or eax, 0x8b6e8a91
cmp eax, 0xee7b5334
je 0x140135a80
mov ecx, 1
jmp 0x140135d40
mov eax, dword [0x14159ac40]
xor edx, edx
div dword [0x14159ac44]
imul rax, rax, 0x570a5ee1
shr rax, 0x3d
mov ecx, eax
not ecx
and ecx, 0x6cd773cd
mov edx, eax
and edx, 0xfffffffe
imul edx, ecx
mov ecx, eax
and ecx, 1
or eax, 0x6cd773cd
imul eax, ecx
add eax, edx
xor eax, 0x68ff63de
cmp eax, 0x45445c3b
jae 0x140135b30
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
nop dword [rax]
mov edi, dword [0x14159ac48]
sub edi, dword [0x14159ac4c]
add edi, 0xf964515e
mov eax, edi
and eax, 0x64a5f439
add eax, eax
sub edi, eax
add edi, 0x663dbe2f
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
cmp edi, 0x212d5d0f
jb 0x140135b30
nop dword [rax + rax]
mov eax, dword [0x14159ac50]
mov ecx, dword [0x14159ac54]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
xor ecx, 0x325f539d
imul rax, rcx, 0x498a7bc1
shr rax, 0x3d
add eax, 0x44a52a47
cmp eax, 0x9fcad59b
ja 0x140135b70
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140135bb0
movabs rcx, 0x2bf8c99cb1f92446
lea r8, [rsi + r15*2]
xor ebx, ebx
nop word cs:[rax + rax]
mov eax, dword [0x14159ac70]
xor eax, dword [0x14159ac74]
and eax, 0xa380b37d
xor eax, 0x8380011c
add eax, 0xec7fb987
cmp eax, 0xcba08250
ja 0x140135bd0
movzx eax, word [rsi]
movzx edx, ax
mov r9d, 1
cmp edx, 0x80
jb 0x140135cc1
nop word [rax + rax]
mov r9d, dword [0x14159ac68]
mov r10d, r9d
not r10d
or r10d, dword [0x14159ac6c]
add r9d, r10d
inc r9d
or r9d, 0x2d515c00
and r9d, 0xad5d5e32
xor r9d, 0x88a4938f
cmp r9d, 0x73087d50
jb 0x140135c10
mov r9d, 2
cmp edx, 0x800
jb 0x140135cc1
add eax, 0x2312
nop dword [rax + rax]
mov edx, dword [0x14159ac7c]
add edx, dword [0x14159ac78]
mov r9d, edx
not r9d
mov r10d, edx
and r10d, 0xbb43ee26
and r9d, 0x44bc11d9
imul r9d, r10d
mov r10d, edx
and r10d, 0x44bc11d9
or edx, 0x44bc11d9
imul edx, r10d
add edx, r9d
or edx, 0x3d70c8d2
cmp edx, 0x451c45d7
je 0x140135c60
movzx eax, ax
xor edx, edx
cmp eax, 0x312
setae dl
lea r9, [rdx*2 + 1]
add rsi, 2
nop word cs:[rax + rax]
mov eax, dword [0x14159ac80]
xor edx, edx
div dword [0x14159ac84]
imul rax, rax, 0x3352b1d9
shr rax, 0x39
add eax, 0x5d08242
xor eax, 0xf28e65cc
cmp eax, 0xb525fc86
jb 0x140135cd0
add r9, rcx
add rbx, r9
sub rbx, rcx
cmp rsi, r8
jne 0x140135bd0
xor ecx, ecx
nop
mov eax, dword [0x14159ac60]
xor edx, edx
div dword [0x14159ac64]
mov edx, eax
and edx, 0xb31e1019
and eax, 0x32140011
add eax, eax
sub edx, eax
add edx, 0xa6ec8b53
cmp edx, 0xcd34d2e4
ja 0x140135d10
nop dword [rax]
mov eax, dword [0x14159ac88]
xor eax, dword [0x14159ac8c]
and eax, 0x235d7606
add eax, 0xd6f81957
cmp eax, 0xb88c6559
jb 0x140135d40
mov rax, rcx
mov rdx, rbx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x14159abd0]
imul eax, dword [0x14159abd4]
add eax, 0x31912b99
not eax
or eax, 0xa0014020
and eax, 0xe141f376
ud2
ud2