Function at 0x180052660
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r14
mov rbp, rsp
sub rsp, 0x80
mov eax, dword [0x1800bd8f8]
mov r10, r8
mov r12, rdx
mov r14d, ecx
test al, 1
jne 0x180052696
or eax, 1
mov dword [0x1800bd8f8], eax
mov qword [rsp + 0xb8], rbx
mov edi, r14d
mov ebx, dword [rbp + 0x30]
imul esi, r14d, 0xfc
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r15
mov dword [rbp - 0x3c], ebx
cmp r14d, esi
ja 0x1800529d9
mov r13d, 0x4847
mov r15d, 0x4f4e
nop dword [rax]
cmp edi, 0xa3f
ja 0x18005293b
je 0x18005292e
cmp edi, 0x2ec
ja 0x1800528c9
je 0x1800527f1
mov eax, edi
sub eax, 0x22
je 0x180052758
sub eax, 0x1b
je 0x180052721
cmp eax, 0x43
jne 0x1800529c7
cmp dword [r12], 0
jg 0x1800529c7
mov dword [r12], 1
jmp 0x1800529c7
mov r8d, 2
mov dword [0x1800bda70], 0x44434241
lea rdx, [0x1800aff76]
mov byte [0x1800bda74], 0
lea rcx, [0x1800bda70]
call fcn.18007c4e0
mov word [0x1800bda76], r13w
jmp 0x1800529c7
mov rax, qword [r12]
lea r8, [rbp + 0x48]
mov edx, 0x94
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x28]
mov dword [rbp + 0x48], 0
call fcn.180004fd0
mov rax, qword [r12]
cmp dword [rax + 0x130], 0
jne 0x1800527d7
xor r8d, r8d
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x48]
lea edx, [r8 + 0x3c]
call fcn.18005fee0
mov rax, qword [r12]
lea rcx, [rbp + 0x48]
xor r8d, r8d
mov qword [rbp + 0x48], rax
lea edx, [r8 + 0xc]
call fcn.180033730
mov rax, qword [r12]
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x48]
mov qword [rbp - 0x28], rax
mov ecx, 0x98
mov dword [rbp + 0x48], 0
call fcn.180001fd0
mov rax, qword [r12]
xor r8d, r8d
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x20]
mov ecx, 0xc4
call fcn.180062880
jmp 0x1800529c7
mov rax, qword [r12]
cmp dword [rax + 0x134], 0
je 0x180052813
mov rax, qword [rax]
mov dword [rax + 0x28], 1
mov rcx, qword [r12]
mov rax, qword [rcx]
call qword [rax]
jmp 0x180052863
cmp dword [rax + 0x16c], 0
mov qword [rbp + 0x48], rax
je 0x180052830
lea rdx, [rbp + 0x48]
mov ecx, 0xde
call fcn.18004b670
jmp 0x180052863
mov qword [rsp + 0x38], 0
lea r8, [rbp + 0x48]
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov dword [rsp + 0x28], 0x130
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], 0
call fcn.18004c9b0
mov rax, qword [r12]
cmp dword [rax + 0x120], 1
jg 0x18005287d
cmp dword [rax + 0x138], 0
jne 0x18005287d
xor ecx, ecx
jmp 0x180052882
mov ecx, 1
mov dword [rbp + 0x48], ecx
lea r9, [rbp - 0x28]
lea rcx, [rbp + 0x48]
mov qword [rbp - 0x28], rax
xor r8d, r8d
mov dword [rsp + 0x20], 0x30
xor edx, edx
call fcn.1800144c0
mov rax, qword [r12]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x18], rax
mov ecx, 0xec
mov dword [rbp - 0x38], 0
call fcn.1800486d0
jmp 0x1800529c7
mov eax, edi
sub eax, 0x53e
je 0x180052910
cmp eax, 0x78
jne 0x1800529c7
mov rax, qword [r12]
lea r8, [rbp + 0x48]
mov edx, 0x2c
mov qword [rbp + 0x48], rax
xor ecx, ecx
call fcn.180037ab0
mov rcx, qword [r12]
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
mov rcx, qword [r12]
mov rax, qword [rcx + 0x208]
call qword [rax]
jmp 0x1800529c7
mov eax, dword [0x1800aff10]
mov dword [0x1800bda78], eax
movzx eax, byte [0x1800aff14]
mov byte [0x1800bda7c], al
jmp 0x1800529c7
mov word [0x1800bda7d], r15w
jmp 0x1800529c7
cmp edi, 0xb00
je 0x1800529a5
cmp edi, 0xf40
je 0x180052992
cmp edi, 0x1441
je 0x180052970
cmp edi, 0x1580
je 0x180052adb
cmp edi, 0x1942
jne 0x1800529c7
mov byte [0x1800bda88], 0x59
jmp 0x1800529c7
mov r8d, 5
lea rdx, [0x1800afed6]
lea rcx, [0x1800bda83]
call fcn.18007b500
mov byte [0x1800bda88], 0
jmp 0x1800529c7
mov dword [0x1800bda7f], 0x53525150
mov byte [0x1800bda83], 0
jmp 0x1800529c7
mov ecx, dword [r12]
cmp ecx, 0x64
jle 0x180052afe
mov ecx, 0x64
mov ebx, 0x64
sub ebx, ecx
add ebx, ebx
mov dword [rbp - 0x3c], ebx
mov dword [r12], ebx
imul eax, r14d, 0x15
add edi, eax
cmp edi, esi
jbe 0x1800526d0
mov r10, qword [rbp + 0x40]
imul r8d, r14d, 0xa8
mov dword [rbp - 0x40], r8d
cmp r14d, r8d
ja 0x180052adb
mov r13d, dword [rbp + 0x30]
mov ecx, 0x7a79
mov r15, qword [0x1800bdef0]
movabs r11, 0xaaaaaaaaaaaaaaab
mov ebx, dword [rbp + 0x30]
imul r9d, r14d, 0xe
mov dword [rbp + 0x48], r9d
mov rsi, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x48]
nop word [rax + rax]
cmp r14d, 0x1441
ja 0x180052bee
je 0x180052bc7
cmp r14d, 0xa3f
ja 0x180052b7c
je 0x180052b5f
cmp r14d, 0x3d
je 0x180052b1f
cmp r14d, 0x393
je 0x180052b16
cmp r14d, 0x6e9
jne 0x180052aba
mov r8d, 5
lea rdx, [0x1800b0167]
lea rcx, [0x1800bda90]
call fcn.18007b500
mov r8d, 4
mov byte [0x1800bda95], 0
lea rdx, [0x1800b0284]
lea rcx, [0x1800bda95]
call fcn.18007b500
mov byte [0x1800bda99], 0
mov r8d, dword [rbp - 0x40]
mov r15, qword [0x1800bdef0]
mov r9d, dword [rbp + 0x48]
mov ecx, 0x7a79
mov r10, qword [rbp + 0x40]
add r14d, r9d
mov dword [rbp + 0x30], r14d
movabs r11, 0xaaaaaaaaaaaaaaab
cmp r14d, r8d
jbe 0x180052a20
mov ebx, dword [rbp - 0x3c]
mov r15, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0xb8]
mov r13, qword [rsp + 0x78]
add rsp, 0x80
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp ecx, 0x32
jge 0x1800529b7
mov eax, 0x1388
cdq
idiv ecx
mov ebx, eax
jmp 0x1800529c0
mov byte [0x1800bda90], 0
jmp 0x180052aba
mov r8d, 4
mov byte [0x1800bda89], 0
lea rdx, [0x1800b00a2]
lea rcx, [0x1800bda89]
call fcn.18007b500
movzx eax, word [0x1800b0110]
mov word [0x1800bda8d], ax
movzx eax, byte [0x1800b0112]
mov byte [0x1800bda8f], al
jmp 0x180052aa6
mov byte [0x1800bda99], 0x70
mov dword [0x1800bda9a], 0x74737271
mov byte [0x1800bda9e], 0
jmp 0x180052aba
cmp r14d, 0xd95
je 0x180052bb9
cmp r14d, 0x10eb
jne 0x180052aba
movzx eax, word [0x1800affe6]
mov word [0x1800bda9f], ax
movzx eax, byte [0x1800affe8]
mov byte [0x1800bdaa1], al
mov word [0x1800bdaa2], cx
jmp 0x180052aba
mov word [0x1800bda9e], 0x75
jmp 0x180052aba
movzx eax, word [0x1800b02a2]
mov word [0x1800bdaa4], ax
movzx eax, byte [0x1800b02a4]
mov byte [0x1800bdaa6], al
mov byte [0x1800bdaa7], 0x33
jmp 0x180052aba
cmp r14d, 0x1797
je 0x180052edb
cmp r14d, 0x1aed
je 0x180052ea6
cmp r14d, 0x1e43
je 0x180052df5
cmp r14d, 0x2199
je 0x180052d17
cmp r14d, 0x24ef
jne 0x180052aba
mov r9, qword [rbp - 0x28]
cmp r9, qword [r12 + 0x10]
jae 0x180052f00
mov r14d, dword [rbp - 0x30]
mov edx, 0x22
cmp edx, 0x22
je 0x180052cdd
cmp edx, 0x180a
je 0x180052cca
cmp edx, 0x2ff2
je 0x180052cad
cmp edx, 0x47da
je 0x180052c7f
cmp edx, 0x5fc2
jne 0x180052cf8
mov byte [rsi], 0x3d
inc rsi
jmp 0x180052cf8
lea rax, [r9 + 1]
cmp rax, qword [r12 + 0x10]
jae 0x180052ca4
mov eax, ebx
mov ecx, r13d
shr eax, 6
and ecx, 0xf
lea eax, [rax + rcx*4]
movzx eax, byte [rax + r15]
mov byte [rsi], al
inc rsi
jmp 0x180052cf8
mov al, 0x3d
mov byte [rsi], al
inc rsi
jmp 0x180052cf8
mov ecx, r14d
mov eax, r13d
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
movzx ecx, byte [rcx + r15]
mov byte [rsi], cl
inc rsi
jmp 0x180052cf8
mov eax, r14d
shr rax, 2
movzx eax, byte [rax + r15]
mov byte [rsi], al
inc rsi
jmp 0x180052cf8
movzx r14d, byte [rdi]
lea rax, [r9 + 1]
cmp rax, qword [r12 + 0x10]
jae 0x180052cf3
movzx r13d, byte [rdi + 1]
jmp 0x180052cf6
xor r13d, r13d
xor ebx, ebx
add edx, 0x17e8
cmp edx, 0x7788
jbe 0x180052c47
mov dword [rbp - 0x30], r14d
mov r14d, dword [rbp + 0x30]
jmp 0x180052ab1
cmp qword [r10 + 0x18], 0x10
mov rsi, r10
jb 0x180052d24
mov rsi, qword [r10]
mov rax, r11
mul qword [r12 + 0x10]
xor eax, eax
shr rdx, 1
mov qword [rbp - 0x28], rax
lea rcx, [rdx + rdx*2]
test rcx, rcx
je 0x180052ab5
dec rcx
mov rax, r11
mul rcx
mov r8, rdx
shr r8, 1
inc r8
lea rax, [r8 + r8*2]
mov qword [rbp - 0x28], rax
nop dword [rax]
mov eax, 0x6b
cmp eax, 0x6b
je 0x180052dc5
cmp eax, 0x2387
je 0x180052d7e
cmp eax, 0x46a3
jne 0x180052dd6
add rdi, 3
jmp 0x180052dd6
movzx ecx, byte [rdi + 1]
movzx edx, byte [rdi]
shr ecx, 4
and edx, 3
shl edx, 4
add edx, ecx
movzx edx, byte [rdx + r15]
mov byte [rsi], dl
movzx ecx, byte [rdi + 2]
movzx edx, byte [rdi + 1]
shr ecx, 6
and edx, 0xf
lea ecx, [rcx + rdx*4]
movzx ecx, byte [rcx + r15]
mov byte [rsi + 1], cl
movzx ecx, byte [rdi + 2]
and ecx, 0x3f
movzx ecx, byte [rcx + r15]
mov byte [rsi + 2], cl
add rsi, 3
jmp 0x180052dd6
movzx ecx, byte [rdi]
shr rcx, 2
movzx ecx, byte [rcx + r15]
mov byte [rsi], cl
inc rsi
add eax, 0x231c
cmp eax, 0x6954
jbe 0x180052d65
sub r8, 1
jne 0x180052d60
mov r8d, dword [rbp - 0x40]
jmp 0x180052ab5
mov rcx, qword [r12 + 0x10]
mov rax, r11
add rcx, 2
mul rcx
mov rcx, qword [r10 + 0x10]
shr rdx, 1
shl rdx, 2
cmp rdx, rcx
ja 0x180052e2b
mov qword [r10 + 0x10], rdx
mov rax, r10
cmp qword [r10 + 0x18], 0x10
jb 0x180052e25
mov rax, qword [r10]
mov byte [rax + rdx], 0
jmp 0x180052e8e
mov r8, qword [r10 + 0x18]
mov r14, rdx
mov rax, r8
sub r14, rcx
sub rax, rcx
cmp r14, rax
ja 0x180052e68
mov qword [r10 + 0x10], rdx
mov rax, r10
cmp r8, 0x10
jb 0x180052e50
mov rax, qword [r10]
lea rdi, [rax + rcx]
mov r8, r14
mov rcx, rdi
xor edx, edx
call fcn.1800746e0
mov byte [rdi + r14], 0
jmp 0x180052e82
mov r9, r14
mov byte [rsp + 0x20], 0
mov rdx, r14
mov rcx, r10
call fcn.1800691c0
mov r15, qword [0x1800bdef0]
mov r9d, dword [rbp + 0x48]
mov r8d, dword [rbp - 0x40]
mov r14d, dword [rbp + 0x30]
cmp qword [r12 + 0x18], 0x10
mov rdi, r12
jb 0x180052ab5
mov rdi, qword [r12]
jmp 0x180052ab5
movzx eax, word [0x1800b004d]
lea r15, [0x1800bda70]
mov word [0x1800bdaad], ax
movzx eax, byte [0x1800b004f]
mov byte [0x1800bdaaf], al
mov byte [0x1800bdab0], 0
mov qword [0x1800bdef0], r15
jmp 0x180052aba
mov r8d, 5
mov byte [0x1800bdaa8], 0
lea rdx, [0x1800b007a]
lea rcx, [0x1800bdaa8]
call fcn.18007b500
jmp 0x180052aa6
mov r9d, dword [rbp + 0x48]
jmp 0x180052aba