Function at 0x180056df0
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
push rbp
push rbx
push rsi
push r12
push r13
lea rbp, [rax - 0x5f]
sub rsp, 0x90
imul esi, r8d, 0x7dd
mov r12d, r8d
mov rbx, rdx
mov r13, rcx
mov dword [rbp - 0x15], esi
cmp r8d, esi
ja 0x1800572e8
mov qword [rax + 8], rdi
mov edi, dword [rbp - 0x19]
imul ecx, r12d, 0xb7
mov qword [rax - 0x30], r14
xor r10d, r10d
mov r14, qword [rbp - 0x11]
mov qword [rax - 0x38], r15
mov r15d, dword [rbp + 0x77]
lea r11d, [r10 + 0x40]
mov dword [rbp - 0x29], ecx
nop dword [rax]
cmp r12d, 0x22b7a
ja 0x180056f84
je 0x180056f47
mov eax, r12d
sub eax, 0xc1
je 0x180056ee5
sub eax, 1
je 0x180056ec3
sub eax, 0x8aae
je 0x180056eb2
sub eax, 0x8aae
je 0x180056ea2
cmp eax, 0x8aae
jne 0x1800572b6
mov ecx, dword [rbp - 9]
mov edi, dword [rbp - 9]
shr ecx, 3
and edi, 7
mov dword [rbp + 0x1b], ecx
mov dword [rbp - 0x19], edi
jmp 0x1800572b3
mov r15d, dword [r9]
shr r15d, 4
and r15d, 0x3f
jmp 0x1800572b6
mov eax, dword [r9]
shr eax, 0xa
and eax, 0x3f
mov dword [rbp - 9], eax
jmp 0x1800572b6
mov rcx, qword [r13]
mov rdx, rcx
or rdx, qword [r13 + 8]
cmp byte [r13 + 0x43], 0
mov qword [rbp + 0xf], rdx
cmove rcx, qword [r13 + 8]
mov qword [rbp + 7], rcx
jmp 0x1800572b3
xor r9d, r9d
mov qword [rsp + 0x28], r13
xor edx, edx
mov qword [rsp + 0x20], r10
xor ecx, ecx
lea r8d, [r9 + 0x21]
call fcn.18002cab0
lea r9, [r13 + 0xa8]
mov qword [rbp - 0x21], rax
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov edx, 0x111
lea rcx, [rbp - 0x21]
call fcn.180034fa0
cmp al, 1
jne 0x1800572b3
lea r9, str.icudt53l_ar_AE.res
mov r8, r13
xor edx, edx
mov ecx, 0xba
call fcn.180056680
jmp 0x1800572b3
mov ecx, dword [r9]
mov edx, ecx
shr edx, 0x10
and edx, 7
mov eax, r15d
mov dword [rbp + 0x17], edx
mov rdx, qword [rbp + 0xf]
bt rdx, rax
jb 0x180056f6c
mov byte [rbp + 0x77], 0
bt ecx, 0x13
jae 0x180056f70
mov byte [rbp + 0x77], 1
mov ecx, dword [rbp - 9]
mov eax, 1
shl rax, cl
mov qword [rbp + 0x1f], rax
jmp 0x1800572b3
cmp r12d, 0x2b628
je 0x180057136
cmp r12d, 0x340d6
je 0x180057056
cmp r12d, 0x3cb84
je 0x180057044
cmp r12d, 0x45632
je 0x180056fcc
cmp r12d, 0x4e0e0
jne 0x1800572b6
mov byte [rbx], 0
inc rbx
jmp 0x1800572b6
mov edx, dword [rbp + 0x17]
mov eax, r15d
shr eax, 3
add al, 0x31
mov byte [rbx], al
inc rbx
test edx, edx
je 0x1800572b6
mov byte [rbx], 0x3d
mov eax, edx
inc rbx
sub eax, 1
je 0x180057033
sub eax, 1
je 0x180057022
sub eax, 1
je 0x180057011
cmp eax, 1
jne 0x180057039
mov byte [rbx], 0x4e
mov r12d, 0x45632
inc rbx
jmp 0x1800572b6
mov byte [rbx], 0x42
mov r12d, 0x45632
inc rbx
jmp 0x1800572b6
mov byte [rbx], 0x52
mov r12d, 0x45632
inc rbx
jmp 0x1800572b6
mov byte [rbx], 0x51
inc rbx
mov r12d, 0x45632
jmp 0x1800572b6
movzx eax, r15b
and al, 7
add al, 0x61
mov byte [rbx], al
inc rbx
jmp 0x1800572b6
mov rax, qword [rbp + 0x1f]
test qword [r13 + 0x38], rax
je 0x180057070
cmp byte [rbp + 0x77], 0
je 0x180057070
lea eax, [rdi + 0x61]
mov byte [rbx], al
inc rbx
jmp 0x1800570cd
mov r9d, 0x2f
mov qword [rbp - 0x21], r14
xor r8d, r8d
lea rdx, [rbp - 0x21]
xor ecx, ecx
call fcn.180072b30
cmp eax, 1
jbe 0x1800570ca
mov edi, dword [rbp - 0x19]
lea rdx, [rbp - 0x21]
mov ecx, edi
movabs rax, 0x8080808080808080
shr rax, cl
mov r9d, 0x2f
and rax, r14
xor r8d, r8d
xor ecx, ecx
mov qword [rbp - 0x21], rax
call fcn.180072b30
cmp eax, 1
ja 0x1800570e2
mov esi, dword [rbp - 0x15]
lea eax, [rdi + 0x61]
mov byte [rbx], al
inc rbx
mov ecx, dword [rbp - 0x29]
cmp byte [rbp + 0x77], 0
je 0x1800572b6
mov byte [rbx], 0x78
inc rbx
jmp 0x1800572b6
mov ecx, dword [rbp + 0x1b]
lea rdx, [rbp - 0x21]
mov eax, 0xff
mov r9d, 0x2f
shr rax, cl
xor r8d, r8d
and rax, r14
lea edi, [rcx + 0x31]
mov qword [rbp - 0x21], rax
xor ecx, ecx
call fcn.180072b30
mov esi, dword [rbp - 0x15]
mov ecx, dword [rbp - 0x29]
cmp eax, 1
ja 0x180057121
mov byte [rbx], dil
inc rbx
mov edi, dword [rbp - 0x19]
jmp 0x1800570cd
movzx eax, byte [rbp - 0x19]
add al, 0x61
mov byte [rbx], al
mov byte [rbx + 1], dil
add rbx, 2
mov edi, dword [rbp - 0x19]
jmp 0x1800570cd
mov rax, qword [rbp + 0x1f]
mov r14, r10
test qword [r13 + 0x10], rax
je 0x18005714e
mov byte [rbx], 0x4b
inc rbx
jmp 0x1800572b6
mov dword [rbp - 0x21], r15d
test qword [r13 + 0x18], rax
je 0x180057189
mov rax, qword [rbp + 0xf]
lea r9, [rbp - 0x21]
xor edx, edx
mov byte [rbx], 0x51
lea r8, [rbp - 0x11]
mov qword [rbp - 0x11], rax
inc rbx
mov qword [rsp + 0x20], r10
lea ecx, [rdx + 0x76]
call fcn.18002d710
mov r14, qword [r13 + 0x18]
and r14, rax
jmp 0x1800572af
test qword [r13 + 0x20], rax
je 0x1800571bc
mov rax, qword [rbp + 0xf]
lea rdx, [rbp - 0x21]
mov byte [rbx], 0x52
lea rcx, [rbp - 0x11]
mov r8d, 0x11e
mov qword [rbp - 0x11], rax
inc rbx
call fcn.18001f120
mov r14, qword [r13 + 0x20]
and r14, rax
jmp 0x1800572af
test qword [r13 + 0x28], rax
je 0x1800571ee
mov rax, qword [rbp + 0xf]
lea r8, [rbp - 0x11]
mov byte [rbx], 0x42
lea rcx, [rbp - 0x21]
mov edx, 0x91
mov qword [rbp - 0x11], rax
inc rbx
call fcn.180023ec0
mov r14, qword [r13 + 0x28]
and r14, rax
jmp 0x1800572af
test qword [r13 + 0x30], rax
je 0x180057216
mov byte [rbx], 0x4e
lea r8, [rbp - 0x21]
xor edx, edx
mov ecx, 0xde
inc rbx
call fcn.180072a00
mov r14, qword [r13 + 0x30]
and r14, rax
jmp 0x1800572af
movzx r8d, byte [r13 + 0x43]
mov edx, 0x68
mov eax, edx
sub eax, 0x68
je 0x18005725e
sub eax, 0x39
je 0x180057299
sub eax, 0x1b
je 0x180057241
sub eax, 0x4b3c
je 0x1800572a7
cmp eax, 0x3d5c
je 0x1800572a7
jmp 0x18005727d
cmp r15d, 0xff
jbe 0x180057258
test r15d, r15d
js 0x180057293
cmp r15d, 0xff
jg 0x18005728d
mov byte [rbp - 1], r15b
jmp 0x18005727d
test r8b, r8b
mov eax, r15d
mov rcx, r10
cmove rcx, r11
add rcx, rax
lea rax, [0x180136ab0]
mov rax, qword [rax + rcx*8]
mov qword [rbp - 1], rax
add edx, 0x4b90
cmp edx, 0x179d0
jbe 0x180057220
jmp 0x1800572a7
mov byte [rbp - 1], 0xff
jmp 0x1800572a7
mov byte [rbp - 1], 0
jmp 0x1800572a7
lea rcx, [rbp - 0x21]
call qword [sym.imp.OPENGL32.dll_wglGetProcAddress]
mov qword [rbp - 1], rax
mov r14, qword [r13 + 0x38]
and r14, qword [rbp - 1]
and r14, qword [rbp + 7]
mov ecx, dword [rbp - 0x29]
mov r9, qword [rbp + 0x7f]
mov r10d, 0
add r12d, ecx
lea r11d, [r10 + 0x40]
cmp r12d, esi
jbe 0x180056e50
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xc0]
add rsp, 0x90
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret