Function at 0x140247620
Capabilities:
Encode data using base64

Disassembly:
push rbp
sub rsp, 0x1c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], rcx
mov eax, 0x10
mov qword [rbp + 0x60], rax
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x60]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x60]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x60]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x60]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x60]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov qword [rbp + 0x80], rax
add rax, 0x60
mov qword [rbp + 0x78], rax
mov word [rbp + 0x12e], 0x54d
lea rcx, [rbp + 0x12e]
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x88], rcx
cmp byte [rax + 0x60], 0
jne 0x14024817c
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x88]
mov rdx, qword [0x14028d258]
mov r8, qword [rdx]
mov qword [rbp + 0x118], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x120], rdx
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
mov r8, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x118]
mov qword [rbp + 0x130], rdx
mov rdx, qword [rbp + 0x120]
mov qword [rbp + 0x138], rdx
mov rdx, qword [rax]
mov qword [r8], rdx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rdx, [rbp + 0x130]
sub rsp, 0x20
call fcn.1400ca2e0
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x28], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x30], rcx
cmp byte [rax], 0
jne 0x14024817c
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140020645
add rsp, 0x20
mov qword [rbp + 8], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.1400370c0
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov word [rbp + 0x12c], 0x5b9
lea rcx, [rbp + 0x12c]
sub rsp, 0x20
call fcn.140096085
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov qword [rbp + 0x18], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x27], al
jne 0x140247f6b
mov rdx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x108]
sub rsp, 0x20
call fcn.140039831
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x110]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0xae5
sub rsp, 0x20
call fcn.140096360
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x78]
mov dword [rcx + 0x10], edx
mov cl, byte [rax]
mov dl, 0xe6
xor dl, 0xe6
mov al, 1
cmp cl, dl
mov byte [rbp + 0x27], al
jne 0x140247f6b
mov cx, 0x188a
xor cx, 0x1ffa
sub rsp, 0x20
call fcn.140096360
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x14], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x27], al
jne 0x140247f6b
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
mov qword [rax + 8], rcx
mov ecx, 0x6cc
sub rsp, 0x20
call fcn.140096360
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x78]
mov dword [rbp + 4], ecx
mov cl, byte [rax]
mov dl, 0x46
xor dl, 0x46
mov al, 1
cmp cl, dl
mov byte [rbp + 0x27], al
jne 0x140247f6b
mov r8d, dword [rbp + 4]
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x30]
mov r9, qword [rbp + 0x28]
mov qword [rbp + 0xf8], r9
mov qword [rbp + 0x100], rcx
movabs rcx, 0x545b6b0df1d11f34
movabs r9, 0x545b6b0df1d11f35
xor rcx, r9
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.1401b7fea
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov qword [rbp - 8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x27], al
jne 0x140247f6b
mov word [rbp + 0x12a], 0x96c
lea rcx, [rbp + 0x12a]
sub rsp, 0x20
call fcn.140096085
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x27], al
jne 0x140247f6b
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.140039831
mov rdx, qword [rbp + 0x38]
add rsp, 0x20
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rdx]
add rdx, 0x18
mov qword [rbp - 0x20], rdx
mov qword [rbp + 0xc8], rcx
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xb8]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 8]
add rsp, 0x20
lea r8, [rbp + 0xc8]
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0xb8]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1401b7d64
mov rcx, qword [rbp + 0x78]
add rsp, 0x30
mov dword [rbp - 0x14], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x27], al
jne 0x140247f6b
sub rsp, 0x20
mov cx, 0x8ad
call fcn.140095ec0
mov r8d, dword [rbp - 0x14]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x78]
mov al, byte [rax]
test al, al
sete cl
movsxd r8, r8d
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x21], al
jne 0x140247aa5
jmp 0x140247f65
mov edx, dword [0x14027fd90]
mov ecx, dword [str.b_BG]
mov eax, edx
xor eax, ecx
xor ecx, 0xffffffff
and edx, ecx
mov ecx, 0x15e46abc
xor ecx, 0x15e46abe
imul ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xc25cf66d
mov edx, 0xffffffff
xor edx, 0xc25cf66d
and ecx, edx
or eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xb7266832
add eax, ecx
and eax, 0x50cdb862
cmp eax, 0x606df04a
je 0x140248215
mov ecx, dword [0x14027fd98]
mov eax, dword [0x14027fd9c]
add ecx, 0x24c2d9ed
sub ecx, eax
mov eax, 0x13860c62
xor eax, 0x3744d58f
sub ecx, eax
mov edx, 0x92e5ccb7
xor edx, 0x6d1a3348
mov eax, ecx
xor eax, edx
and eax, 0x2e286744
mov edx, 0xffffffff
xor edx, 0x2e286744
and ecx, edx
or eax, ecx
mov ecx, 0x3d83482a
xor ecx, 0xc27cb7d5
xor eax, ecx
mov edx, 0xe224ec8d
xor edx, 0xbf82722b
mov ecx, 0x965a5540
xor ecx, 0x69a5aabf
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x991cccb
or eax, edx
or ecx, 0x991cccb
xor eax, 0xffffffff
and eax, ecx
xor eax, 0xed6cd9d6
mov dword [rbp - 0x28], eax
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.1400370c0
add rsp, 0x20
mov qword [rbp - 0x30], rax
mov qword [rax], 0
mov ecx, 0x4ee91064
xor ecx, 0x4ee91065
mov dword [rax + 8], ecx
mov cx, 0x7af4
xor cx, 0x7b4e
sub rsp, 0x20
call fcn.140096360
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x28]
mov dword [rdx + 0xc], r8d
mov cl, byte [rcx]
mov dl, 0x98
xor dl, 0x98
cmp cl, dl
sete cl
mov byte [rbp - 0x22], cl
cmp eax, 0xe83bb900
jae 0x140247b02
mov dl, byte [rbp - 0x22]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x140247c18
jmp 0x140247e47
mov edx, dword [0x14027fda0]
mov ecx, dword [0x14027fda4]
mov eax, edx
xor eax, ecx
xor ecx, 0xffffffff
and edx, ecx
shl edx, 1
sub edx, eax
and edx, 0x9dbbbdea
mov ecx, edx
xor ecx, 0xcf583dbd
mov eax, 0xffffffff
xor eax, 0xcf583dbd
and edx, eax
mov eax, 0xac561668
xor eax, 0xac56166a
imul eax, edx
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x23a7f18b
mov r8d, 0xffffffff
xor r8d, 0x23a7f18b
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x23a7f18b
mov r8d, 0x4aafb0b9
xor r8d, 0x69084132
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xe40c8ea7
ja 0x14024821e
mov ecx, dword [0x14027fda8]
mov edx, dword [0x14027fdac]
mov eax, 0x5af7d2a7
xor eax, 0x5af7d2a7
sub eax, edx
add ecx, eax
add ecx, 0xa11870c2
mov edx, 0xffffffff
xor edx, 0x389caffe
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x8ceb4edb
xor ecx, 0xb6bf6aa6
xor eax, ecx
mov dword [rbp - 0x4c], eax
mov eax, 0x717f3d65
xor eax, 0x8fd9c356
mov dword [rbp - 0x50], eax
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov word [rbp + 0xb6], 0x87e
lea rcx, [rbp + 0xb6]
sub rsp, 0x20
call fcn.140096085
mov rdx, qword [rbp + 0x78]
mov ecx, dword [rbp - 0x50]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x4c]
mov qword [rbp - 0x48], r8
mov dl, byte [rdx]
mov r8b, 0x9b
xor r8b, 0x9b
cmp dl, r8b
sete dl
mov byte [rbp - 0x3a], dl
cmp eax, ecx
je 0x140247ca3
mov dl, byte [rbp - 0x3a]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x140247d70
jmp 0x140247e47
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140039831
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp - 0x58]
add rsp, 0x20
mov r8, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa8]
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.1400a9a0c
mov r8, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rcx + 0x10], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x140247e47
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x38]
mov rcx, qword [0x14028c7f8]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x14028c800]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140048270
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
mov al, byte [rbp - 0x39]
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x68], rcx
mov byte [rbp - 0x59], al
mov eax, dword [0x14027fdb0]
xor eax, 0x326d3e28
mov edx, dword [0x14027fdb4]
xor edx, 0xa4f0e4db
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x5281a126
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
mov edx, 0x83e4fd1b
xor edx, 0x7c1b02e4
xor eax, edx
mov edx, 0x89161c07
xor edx, 0xf29d08db
or eax, edx
add eax, ecx
imul eax, eax, 0x2df9ee3
mov ecx, 0x35b3722a
xor ecx, 0x44f49392
cmp eax, ecx
ja 0x140248227
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp - 0x68]
mov edx, dword [0x14027fdb8]
and edx, dword [0x14027fdbc]
or edx, 0x3ce0c0e9
imul edx, edx, 0x26a35c25
and edx, edx
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xe4c881fe
mov r9d, 0xffffffff
xor r9d, 0xe4c881fe
or r8d, r9d
xor edx, 0xffffffff
mov r9d, 0x1c9b8b7
xor r9d, 0xfe364748
xor r8d, r9d
or edx, r8d
mov dword [rbp - 0x70], edx
mov byte [rax], 0
sub rsp, 0x20
call fcn.14023d780
mov rcx, qword [rbp + 0x78]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x4b81de11
je 0x140247ebd
mov cl, byte [rbp - 0x69]
mov al, 1
test cl, 1
mov byte [rbp - 0x21], al
jne 0x140247f59
jmp 0x140247f65
mov al, byte [rbp - 0x59]
mov rcx, qword [rbp + 0x78]
mov byte [rcx], al
mov byte [rbp - 0x21], al
mov al, byte [rbp - 0x21]
mov byte [rbp + 0x27], al
mov al, byte [rbp + 0x27]
mov byte [rbp - 0x71], al
mov eax, dword [0x14027fdc0]
mov r8d, dword [0x14027fdc4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xc95c0f4
mov edx, 0x95c87ad9
xor edx, 0x995dba2d
mov r8d, 0x2fb4e7b8
xor r8d, 0xd04b1847
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
xor eax, 0xd8072623
mov edx, eax
and edx, 0x4215eb5
mov ecx, 0x7982f85e
xor ecx, 0x7982f85c
imul ecx, edx
add eax, 0x4215eb5
sub eax, ecx
cmp eax, 0xb9a4443e
jb 0x140248230
mov ecx, dword [0x14027fdc8]
and ecx, dword [0x14027fdcc]
mov eax, ecx
and eax, 0x9ebb04ca
or ecx, 0x9ebb04ca
add eax, ecx
mov ecx, 0x6205c915
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x30]
mov ecx, 0x9413a37
xor ecx, 0x5f24e696
add eax, ecx
mov ecx, 0x95acd46e
xor ecx, 0xe1e2559b
cmp rdx, 0
sete dl
mov byte [rbp - 0x72], dl
cmp eax, ecx
ja 0x140248230
mov al, byte [rbp - 0x71]
mov cl, byte [rbp - 0x72]
test cl, 1
mov byte [rbp - 0x73], al
jne 0x140248171
jmp 0x14024806a
mov eax, dword [0x14027fdd0]
sub eax, dword [0x14027fdd4]
mov ecx, eax
and ecx, 0x80660a81
shl ecx, 1
mov edx, 0xc03ccb23
xor edx, 0x405ac1a2
xor eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x55be201b
mov edx, 0x7712bbba
xor edx, 0x88ed4445
xor ecx, edx
and ecx, 0x55be201b
shl ecx, 1
sub ecx, 0x55be201b
sub eax, ecx
or eax, 0xa30c0014
mov ecx, 0x95708377
xor ecx, 0xd65c6ada
cmp eax, ecx
jb 0x140248239
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x14027fdd8]
xor eax, 0x2f7a839c
mov edx, dword [0x14027fddc]
mov r8d, 0xe159f7a9
xor r8d, 0xca80a4d1
xor edx, r8d
imul eax, edx
add eax, 0x236c21ef
mov edx, 0x8822beb0
xor edx, 0xa03142ac
and eax, edx
xor eax, 0xef6c4cb7
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x74], cl
cmp eax, 0x80dc26b2
je 0x140248239
mov al, byte [rbp - 0x71]
mov cl, byte [rbp - 0x74]
test cl, 1
mov byte [rbp - 0x73], al
jne 0x140248157
jmp 0x140248171
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14001d1d6
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x73], al
mov al, byte [rbp - 0x73]
cmp al, 0
je 0x14024820c
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov ax, word [rax + 0x12]
mov cx, 0x202c
xor cx, 0x202d
cmp ax, cx
jle 0x14024820c
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x14024820c
mov rax, qword [rbp + 0x78]
mov byte [rax], 0
sub rsp, 0x20
call fcn.140240ad1
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400cdd40
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x66
xor cl, 0x66
cmp al, cl
jne 0x14024820c
sub rsp, 0x20
call fcn.140240b30
add rsp, 0x20
lea rsp, [rbp + 0x140]
pop rbp
ret
movabs dword [0xfffff8e4e98816ad], eax
lodsd eax, dword [rsi]
push rdx
mov byte [rcx - 0x58317], 0xff
mov ecx, 0xe933f269
invalid
jno 0x140248283
sub byte [rdi - 0x23717], ah
push qword [rcx - 0x167e460e]
invalid
mov cl, 0xf2
mov ecx, 0xfe8ce981
invalid
adc byte [rax], al
add byte [rax], al