Function at 0x1400355b0
Capabilities:
Encode data using base64

Disassembly:
mov dword [rsp + 8], ecx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
movzx edx, byte [0x140042b65]
xor ebx, ebx
mov r11d, dword [0x140042b44]
mov eax, 0x11e
add dword [0x140042a88], eax
mov ecx, ebx
cmp byte [0x140042a62], cl
mov r8d, 0xa9
movzx r10d, byte [0x140042b83]
mov r15d, dword [0x140042b68]
lea r9d, [rax + 0x3d]
movzx r12d, byte [0x140042b55]
lea edi, [rax + 0x46]
setne cl
mov dword [rsp + 0x28], eax
cmp ecx, r8d
mov dword [rsp + 0x98], r8d
mov eax, ebx
mov byte [rsp + 0x88], 7
setb al
lea r13d, [r8 - 1]
cmp edx, eax
mov ecx, ebx
setne cl
cmp ecx, r9d
jne 0x140035695
mov eax, dword [0x140042b38]
movzx ecx, r10b
add eax, 0xc7
mov edx, 0x3f
mov dword [0x140042a64], eax
test r11d, r11d
mov eax, ebx
setne al
shr edx, cl
mov dword [0x140042a8c], eax
mov eax, r11d
or eax, edi
xor r15d, eax
movzx eax, byte [0x140042a87]
imul edi, eax, 0xa8
mov eax, 0x13c
mov dword [0x140042b68], r15d
shr edi, 2
sub eax, edi
cmp eax, edx
sete al
or al, r11b
add r12b, al
mov r8d, dword [0x140042b2c]
mov ecx, ebx
movzx ebp, byte [0x140042b40]
mov eax, 0xcccccccd
mul edi
mov esi, 1
shr edx, 2
movzx eax, dl
shl al, 2
add dl, al
movzx eax, byte [0x140042b78]
sub al, dil
sub bpl, dl
add al, 0x57
add bpl, dil
add r10b, al
movzx eax, byte [0x140042b64]
sar al, 0xa9
cmp al, bpl
mov byte [0x140042b83], r10b
sete cl
xor r8d, ecx
mov dword [0x140042b2c], r8d
test bpl, bpl
jne 0x1400356fd
mov eax, ebx
test edi, edi
je 0x1400356ff
mov eax, esi
movzx ecx, byte [0x140042b80]
movsx r14d, bpl
imul r14d, dword [0x140042b34]
lea edx, [rax + rcx]
mov dword [rsp + 0x2c], edx
mov edx, dword [0x140042b3c]
shr r14d, 2
cmp edx, r14d
sete al
and cl, al
mov eax, dword [0x140042b5c]
sub eax, r14d
mov byte [0x140042b80], cl
sub eax, 0x203
mov ecx, ebx
and dword [0x140042b28], eax
mov eax, dword [0x140042b7c]
or eax, 0x131
mov dword [rsp + 0x90], eax
mov dword [0x140042b78], eax
movzx eax, byte [0x140042b82]
cmp eax, 0x11e
mov eax, dword [0x140042b6c]
sete cl
or eax, ecx
test byte [0x140042b66], 7
mov dword [rsp + 0x80], eax
mov dword [0x140042b6c], eax
je 0x140035793
mov eax, esi
test r8d, r8d
jne 0x140035795
mov eax, ebx
sub edx, eax
mov dword [0x140042b3c], edx
mov edx, dword [0x140042b84]
test edx, edx
jne 0x1400357ab
test edi, edi
je 0x1400357cc
mov eax, 7
movzx ecx, r14b
sar al, cl
movsx ecx, al
movzx eax, byte [0x140042a87]
or ecx, edi
add ecx, eax
sub edx, ecx
mov dword [0x140042b84], edx
cmp byte [0x140042b54], 7
lea ecx, [r15 + 0x9e]
mov eax, ebx
lea ecx, [r15 + rcx*2]
sete al
sub r11d, eax
mov eax, 0x55555556
imul ecx
mov dword [0x140042b44], r11d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
movsx edx, cx
test edx, edx
je 0x1400358b4
sub edx, esi
je 0x140035884
sub edx, esi
je 0x14003585e
cmp edx, esi
je 0x140035846
movsx eax, byte [0x140042b88]
add eax, 0x11e
jne 0x140035839
movzx ecx, byte [0x140042b81]
mov eax, 0x131
shl eax, cl
test eax, eax
mov eax, ebx
je 0x14003583b
mov eax, esi
xor byte [0x140042b57], al
jmp 0x1400358d1
movzx r10d, byte [0x140042a87]
lea eax, [r9 + r10]
and r8d, eax
mov dword [0x140042b2c], r8d
jmp 0x1400358d9
movsx r13d, byte [0x140042b88]
mov eax, 0x55555556
imul r14d
movzx eax, r10b
mov r9d, edx
shr r9d, 0x1f
add r9d, edx
add r9d, eax
inc r13d
jmp 0x1400358d1
movzx eax, r10b
cmp eax, 0x19a
jne 0x1400358a1
test dword [0x140042b34], 0x13c
mov dword [0x140042b44], ebx
je 0x1400358a7
mov dword [0x140042b44], esi
lea eax, [r12 - 0x31]
add byte [0x140042a86], al
jmp 0x1400358d1
mov ecx, ebx
mov eax, 0xa9
sub eax, edi
cmp edi, eax
movsx eax, byte [0x140042a63]
sete cl
and ecx, eax
mov dword [0x140042b3c], ecx
movzx r10d, byte [0x140042a87]
cmp r14d, 0x11e
je 0x1400358f2
movzx eax, byte [0x140042b66]
add al, bpl
mov byte [0x140042a63], al
and r15b, sil
movzx edx, r10b
or r12b, r15b
mov ecx, r13d
mov r15d, dword [rsp + 0x80]
mov eax, ebx
shl edx, cl
movsx ecx, bpl
mov ebp, dword [0x140042b48]
shr r9d, cl
cmp edx, r9d
mov byte [0x140042b55], r12b
sete al
imul ebp, r14d
and eax, dword [0x140042b38]
mov dword [0x140042b34], eax
mov eax, 0xcccccccd
mul ebp
shr edx, 2
lea eax, [rdx + rdx*4]
sub ebp, eax
mov eax, ebx
cmp dword [0x140042b40], ebx
setne al
or r10b, sil
mov dword [0x140042b40], eax
neg r15d
mov eax, dword [rsp + 0x90]
and r15d, 3
xor al, r15b
mov byte [0x140042a87], r10b
sub byte [0x140042b65], al
mov eax, 0x55555556
imul ecx
mov eax, dword [rsp + 0x2c]
mov r14d, edx
and eax, 7
shr r14d, 0x1f
add r14d, edx
mov dword [0x140042b58], eax
add r14b, byte [0x140042a86]
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
cmp r15d, 0x3f
jne 0x140035a0f
test r13d, r13d
setne al
or al, byte [0x140042a86]
add byte [0x140042b80], al
mov eax, ebx
cmp byte [0x140042b67], 7
sete al
mov dword [0x140042b34], eax
movsx eax, byte [0x140042b88]
add eax, ebp
jne 0x1400359eb
cmp edi, 0x13c
mov eax, ebx
sete al
or eax, dword [0x140042b6c]
mov eax, ebx
je 0x1400359ed
mov eax, esi
mov ecx, dword [0x140042b48]
xor ecx, eax
movsx eax, byte [0x140042a63]
or eax, 0x131
xor ecx, esi
mov dword [0x140042b6c], eax
mov dword [0x140042b48], ecx
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r9d, dword [0x140042b4c]
mov r15d, r9d
mov r10d, dword [0x140042b2c]
movsx r8d, r14b
lea eax, [r8 - 0x3f]
cmp eax, 0x131
movsx eax, byte [0x140042b88]
sete cl
xor cl, al
or cl, r10b
sub byte [0x140042b67], cl
lea ecx, [rax + 0x65]
mov r11d, ecx
mov dword [rsp + 0x2c], ecx
mov ecx, dword [0x140042b5c]
mov eax, 0xaaaaaaab
mul edi
shr r11d, 2
shr edx, 1
add r11d, ecx
imul r11d, r9d
mov dword [rsp + 0x90], ecx
lea eax, [rdx + rdx*2]
sub r15d, eax
mov eax, 0x55555556
imul r8d
mov r8d, dword [0x140042b84]
add r15d, edi
mov ebp, edx
movsx r12d, r8b
shr ebp, 0x1f
add ebp, edx
shr r11d, 2
movsx edx, byte [0x140042b64]
add ebp, ecx
movsx eax, bpl
imul r12d, eax
mov eax, edx
xor eax, 7
mov dword [rsp + 0x24], ebp
mov dword [rsp + 0x80], eax
and r12b, 3
mov dword [rsp + 0x20], r12d
movzx ecx, r12b
test dl, dl
jne 0x140035ae8
test ebp, ebp
je 0x140035ad7
mov eax, esi
test r9d, r9d
jne 0x140035ad9
mov eax, ebx
cmp eax, r11d
jb 0x140035ae8
movzx r14d, byte [0x140042a63]
jmp 0x140035b26
cmp byte [0x140042b56], bl
jne 0x140035b03
mov eax, r11d
xor eax, 7
jne 0x140035b03
mov r8d, ebx
mov dword [0x140042b84], ebx
jmp 0x140035b0c
mov r8d, esi
mov dword [0x140042b84], esi
movzx r14d, byte [0x140042a63]
movzx eax, cl
add eax, 7
cmp dword [0x140042b48], eax
sete al
and r14b, al
mov ecx, dword [0x140042b44]
mov eax, 0x38e38e39
mov ebp, dword [0x140042b38]
add ecx, 0xa9
mul ecx
shr edx, 1
lea eax, [rdx + rdx*8]
sub ecx, eax
movsx edx, cx
test edx, edx
je 0x140035c37
sub edx, esi
je 0x140035c07
sub edx, esi
je 0x140035bbe
mov r15d, dword [rsp + 0x90]
mov eax, 0xaaaaaaab
mov r8d, dword [0x140042b68]
mov r9d, dword [0x140042b7c]
cmp edx, esi
je 0x140035b90
mov ecx, r15d
imul ecx, r11d
mul ecx
mov r13d, edx
shr r13d, 1
jmp 0x140035c78
mul dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x24]
shr edx, 1
lea eax, [rdx + rdx*2]
mov edx, r15d
sub edx, eax
movzx eax, bpl
add edx, dword [rsp + 0x2c]
shl al, cl
mov byte [0x140042b82], al
mov dword [rsp + 0x98], edx
jmp 0x140035c78
cmp byte [0x140042a62], bl
je 0x140035bd2
mov eax, r13d
xor eax, r11d
or eax, edi
mov eax, esi
jne 0x140035bd4
mov eax, ebx
mov r9d, dword [0x140042b7c]
xor r9d, eax
cmp byte [0x140042b64], bl
mov dword [0x140042b7c], r9d
jne 0x140035bfd
movzx eax, r12b
movzx ecx, r13b
sar al, cl
test al, al
mov eax, ebx
je 0x140035bff
mov eax, esi
sub dword [0x140042b3c], eax
jmp 0x140035c69
movzx edx, byte [0x140042b81]
mov eax, ebx
mov r9d, dword [0x140042b7c]
sub edx, r15d
add edx, 0x13c
mov ecx, r11d
shr edx, cl
cmp edx, r8d
mov r8d, dword [0x140042b68]
sete al
xor r8d, eax
jmp 0x140035c70
test r11d, 0x13c
mov ecx, ebx
mov eax, ebx
setne cl
cmp dword [rsp + 0x80], ecx
mov ecx, r15d
sete al
and r9d, eax
mov dword [0x140042b4c], r9d
mov r9d, ebp
shl r9d, cl
mov dword [0x140042b7c], r9d
mov r8d, dword [0x140042b68]
mov r15d, dword [rsp + 0x90]
test r15d, r15d
jne 0x140035c8d
cmp edi, r11d
je 0x140035c8d
xor al, al
mov byte [rsp + 0x80], al
jmp 0x140035c95
mov byte [rsp + 0x80], sil
mov ebp, dword [0x140042b58]
mov eax, 0xcccccccd
mov ecx, ebp
imul ecx, r11d
mul ecx
movsx eax, r12b
lea ecx, [r9 + r9*2]
add ecx, eax
mov r15d, edx
mov eax, 0x38e38e39
shr r15d, 2
mul ecx
shr edx, 1
lea eax, [rdx + rdx*8]
sub ecx, eax
movsx edx, cx
test edx, edx
je 0x140035d36
sub edx, esi
je 0x140035d15
sub edx, esi
je 0x140035cf9
sub edx, esi
mov cl, 7
movzx edx, byte [rsp + 0x80]
jne 0x140035d6c
mov ebp, dword [rsp + 0x90]
sar ebp, 1
mov dword [0x140042b58], ebp
jmp 0x140035d6c
mov eax, dword [0x140042b38]
mov ecx, r11d
shl eax, cl
mov cl, 7
mov dword [rsp + 0x90], eax
mov dword [0x140042b5c], eax
jmp 0x140035d64
movzx eax, byte [0x140042b82]
mov cl, 7
movzx edx, byte [rsp + 0x80]
cmp eax, edi
sete al
add dl, al
mov byte [rsp + 0x80], dl
jmp 0x140035d6c
mov ecx, r11d
lea eax, [r10 - 0x13c]
shl eax, cl
mov ecx, ebx
test eax, eax
setne cl
xor byte [0x140042b82], cl
movzx ecx, byte [0x140042b64]
neg cl
add cl, cl
and cl, 3
mov byte [rsp + 0x88], cl
movzx edx, byte [rsp + 0x80]
cmp dword [0x140042b48], r15d
je 0x140035d82
test ebp, ebp
je 0x140035d8e
cmp dword [rsp + 0x98], esi
jae 0x140035d8e
mov eax, dword [0x140042b44]
xor r14b, al
xor r14b, r12b
movzx eax, cl
mov dword [0x140042a8c], ebx
sar al, 7
movsx ecx, al
mov eax, ebx
or ecx, ebp
mov ebp, dword [0x140042b34]
add ebp, ecx
mov ecx, ebx
test dl, dl
mov edx, dword [rsp + 0x98]
setne cl
cmp r9d, edx
setne al
cmp eax, ecx
jne 0x140035dc6
test r15d, r15d
je 0x140035dea
lea eax, [r13 - 0x13c]
test eax, eax
jne 0x140035ddc
mov eax, ebx
cmp byte [rsp + 0x88], bl
je 0x140035dde
mov eax, esi
add al, byte [0x140042b65]
xor byte [0x140042b54], al
mov r15d, dword [0x140042b28]
movzx ecx, r13b
movzx eax, r12b
mov r12d, dword [0x140042b60]
sar al, cl
movzx ecx, dl
sar al, cl
movzx ecx, byte [rsp + 0x88]
movsx eax, al
add eax, dword [0x140042b30]
xor r15d, eax
cmp r13d, edx
mov dword [0x140042b28], r15d
movzx r13d, byte [0x140042b65]
sete al
inc r13b
and al, byte [0x140042b81]
and al, dil
mov byte [0x140042b65], r13b
or al, r9b
mov r9d, dword [rsp + 0x2c]
or r14b, al
imul ebp, r9d
mov eax, 0xcccccccd
mov byte [0x140042a63], r14b
mul ebp
shr edx, 2
lea eax, [rdx + rdx*4]
mov edx, dword [rsp + 0x98]
sub ebp, eax
movzx eax, byte [0x140042a86]
shl eax, cl
mov ecx, dword [0x140042a88]
or ecx, eax
mov eax, 0x13c
mov dword [rsp + 0x2c], ecx
mov ecx, edx
sar eax, cl
mov ecx, 0xea
xor eax, r12d
mov dword [0x140042a64], eax
nop dword [rax + rax]
dec cx
test r14b, r14b
jne 0x140035eba
test r9d, r9d
jne 0x140035eba
lea eax, [r10 + 0x11e]
test ebp, eax
mov eax, ebx
je 0x140035ebc
mov eax, esi
xor r8d, eax
test cx, cx
jne 0x140035ea0
movzx ebp, byte [0x140042b55]
mov ecx, r11d
imul r12d, r11d
mov eax, 0xcccccccd
mul edx
mov r14d, 0x11e
mov dword [0x140042b68], r8d
shr r12d, 2
mov edi, edx
mov edx, dword [rsp + 0x98]
movzx eax, r12b
and al, 0x3c
shr edi, 2
add edi, dword [0x140042b48]
or al, dl
and al, r8b
mov byte [0x140042b81], al
mov eax, r14d
shl eax, cl
movzx ecx, bpl
shl eax, cl
mov ecx, ebx
test eax, eax
mov eax, 0x2d9
sete cl
and r10d, ecx
sub rax, rsi
jne 0x140035f24
movzx eax, byte [0x140042b54]
movzx ecx, dil
shr eax, cl
or eax, r9d
mov dword [0x140042b2c], r10d
je 0x140035f5c
movsx eax, byte [rsp + 0x80]
test edi, eax
je 0x140035f5c
mov r9d, esi
mov dword [0x140042b34], esi
jmp 0x140035f65
mov r9d, ebx
mov dword [0x140042b34], ebx
cmp edx, r14d
jae 0x140035fca
mov ecx, edx
movzx eax, r12b
shl al, cl
xor al, r11b
and al, r15b
or bpl, al
mov eax, 0x66666667
imul dword [rsp + 0x24]
mov eax, 0x55555556
mov byte [0x140042b55], bpl
mov r14d, edx
sar r14d, 1
mov ecx, r14d
shr ecx, 0x1f
add r14d, ecx
mov ecx, dword [rsp + 0x24]
imul ecx
add r14d, r15d
mov eax, edx
mov dword [rsp + 0x28], r14d
shr eax, 0x1f
add edx, eax
movzx eax, dl
add al, al
add dl, al
movzx eax, byte [0x140042b80]
sub al, dl
add al, cl
mov byte [rsp + 0x20], al
movzx eax, byte [0x140042b82]
sub r15d, r14d
mov r14d, dword [0x140042b78]
add r15d, r12d
mov ecx, r11d
shr r15d, cl
xor r15d, eax
movzx ecx, r13b
mov eax, dword [rsp + 0x2c]
sub eax, r15d
mov dword [0x140042a88], eax
movzx eax, cx
add ax, ax
add cx, ax
lea edx, [rdi + rcx]
and edx, 7
je 0x140036081
sub edx, esi
je 0x14003606f
sub edx, esi
je 0x140036050
cmp edx, esi
jne 0x1400360af
mov ecx, dword [rsp + 0x20]
test r8d, r8d
je 0x14003602f
movsx eax, cl
xor eax, edi
mov dword [0x140042b6c], esi
jne 0x140036035
mov dword [0x140042b6c], ebx
test r10d, r10d
jne 0x140036046
cmp dword [rsp + 0x28], ebx
jne 0x140036046
mov eax, ebx
test cl, cl
je 0x140036048
mov eax, esi
and byte [0x140042b57], al
jmp 0x1400360af
cmp byte [0x140042b83], bl
jne 0x140036061
mov eax, edi
or eax, r11d
mov eax, ebx
je 0x140036063
mov eax, esi
or r13b, al
mov byte [0x140042b65], r13b
jmp 0x1400360af
mov ecx, dword [rsp + 0x20]
movzx eax, r14b
shl al, cl
and byte [0x140042a86], al
jmp 0x1400360af
cmp dword [rsp + 0x90], ebx
je 0x1400360a3
mov eax, dword [rsp + 0x20]
movzx ecx, dil
sar al, cl
test al, al
je 0x1400360a3
cmp r11d, dword [0x140042b3c]
mov eax, esi
je 0x1400360a5
mov eax, ebx
and bpl, al
mov byte [0x140042b55], bpl
test r9d, r9d
jne 0x1400360c1
test dword [rsp + 0x28], edi
jne 0x1400360c1
test r11d, r11d
jne 0x1400360c1
mov esi, ebx
movzx eax, byte [rsp + 0x80]
mov edx, ebx
mov ecx, dword [rsp + 0x98]
and al, sil
mov byte [0x140042b56], al
mov eax, dword [0x140042b30]
shr eax, cl
movzx ecx, byte [rsp + 0x88]
and eax, ecx
lea ecx, [r12 + rdi]
and dword [0x140042b60], eax
cmp ecx, r11d
sete dl
sub r9d, edx
or r14d, r9d
mov dword [0x140042b78], r14d
call fcn.140034c60
cmp edi, 0x13c
sete bl
movzx eax, bx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret