Function at 0x140056d30
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov r13, rdx
mov r15, rcx
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov ecx, dword [r8 + 8]
test ecx, ecx
jle 0x140056d86
mov rax, qword [r8]
nop word cs:[rax + rax]
mov edx, ecx
cmp qword [rax + rdx*8 - 8], 0
jne 0x140056d86
lea edx, [rcx - 1]
cmp ecx, 1
mov ecx, edx
jg 0x140056d70
xor ecx, ecx
movsxd rax, dword [r9 + 8]
mov edx, eax
test rax, rax
jle 0x140056db9
mov r10, qword [r9]
mov edx, eax
nop word cs:[rax + rax]
mov r11d, edx
cmp qword [r10 + r11*8 - 8], 0
jne 0x140056db9
lea r11d, [rdx - 1]
cmp edx, 1
mov edx, r11d
jg 0x140056da0
xor edx, edx
test ecx, ecx
jle 0x140056dca
mov r10, qword [r8]
mov ecx, ecx
cmp qword [r10 + rcx*8 - 8], 0
je 0x140056df5
test edx, edx
jle 0x140056ddb
mov rcx, qword [r9]
mov edx, edx
cmp qword [rcx + rdx*8 - 8], 0
je 0x140056df5
test eax, eax
je 0x140056ef6
mov rcx, qword [r9]
cmp eax, 4
jae 0x140056e1d
xor edx, edx
xor r10d, r10d
jmp 0x140056e70
mov dword [rsp + 0x20], 0xd4
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, reloc.WS2_32.dll_WSAGetLastError
call fcn.14004bbe0
jmp 0x1400576f2
mov rdx, rax
and rdx, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
nop
movdqu xmm2, xmmword [rcx + r10*8]
por xmm0, xmm2
movdqu xmm2, xmmword [rcx + r10*8 + 0x10]
por xmm1, xmm2
add r10, 4
cmp rdx, r10
jne 0x140056e30
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp rdx, rax
je 0x140056e7c
nop word cs:[rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x140056e70
test r10, r10
je 0x140056ef6
mov r12, qword [rsp + 0x100]
cmp byte [r12 + 0x28], 0
mov rdi, r9
mov rsi, r8
jne 0x140056f36
mov rcx, qword [r12 + 0x10]
mov rbx, qword [r12 + 0x20]
cmp rcx, qword [r12 + 0x18]
jne 0x140056f1e
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov r14d, 0x20
cmovne r14, rax
cmp r14, rcx
jbe 0x140056f2e
mov rax, r14
shr rax, 0x3d
jne 0x140056f2e
lea rdx, [r14*8]
mov rcx, qword [r12 + 8]
call fcn.140093160
test rax, rax
je 0x140056f2e
mov qword [r12 + 8], rax
mov qword [r12 + 0x18], r14
mov rcx, qword [r12 + 0x10]
jmp 0x140056f23
mov dword [rsp + 0x20], 0xd9
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c
xor esi, esi
mov ecx, 3
xor edx, edx
mov r8d, 0x69
call fcn.14004bbe0
jmp 0x1400576f2
mov rax, qword [r12 + 8]
mov qword [rax + rcx*8], rbx
inc qword [r12 + 0x10]
jmp 0x140056f36
mov word [r12 + 0x28], 0x101
mov rcx, r12
call fcn.140056bc0
mov qword [rsp + 0x38], rax
mov rcx, r12
call fcn.140056bc0
mov rbp, rax
mov rcx, r12
call fcn.140056bc0
mov rbx, rax
test r15, r15
jne 0x140056f69
mov rcx, r12
call fcn.140056bc0
mov r15, rax
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x1400576c8
test r15, r15
je 0x1400576c8
mov rdx, rdi
mov r9d, dword [rdi + 8]
test r9d, r9d
mov qword [rsp + 0x68], rbp
jle 0x140056fbd
mov rax, qword [rdx]
nop word cs:[rax + rax]
mov r8d, r9d
cmp qword [rax + r8*8 - 8], 0
jne 0x140056fc6
lea r8d, [r9 - 1]
cmp r9d, 1
mov r9d, r8d
jg 0x140056fa0
jmp 0x140057079
je 0x140057079
mov rax, qword [rdx]
mov rcx, qword [rsp + 0x28]
movsxd r8, r9d
shl r9d, 6
mov r8, qword [rax + r8*8 - 8]
xor eax, eax
test r8, r8
setne al
or eax, r9d
xor r14d, r14d
mov r9, r8
shr r9, 0x20
setne r14b
cmove r9, r8
shl r14d, 5
mov r10, r9
shr r10, 0x10
xor r8d, r8d
cmp r9, 0x10000
setae r8b
cmovb r10, r9
shl r8d, 4
mov r11, r10
shr r11, 8
xor r9d, r9d
cmp r10, 0x100
setae r9b
cmovb r11, r10
mov r10, r11
shr r10, 4
xor ebx, ebx
cmp r11, 0x10
setae bl
cmovb r10, r11
mov r11, r10
shr r11, 2
xor ebp, ebp
cmp r10, 4
setae bpl
cmovb r11, r10
add ebp, ebp
or r14d, eax
or r14d, r8d
lea eax, [r14 + r9*8]
lea ebx, [rax + rbx*4]
or ebx, ebp
cmp r11, 2
sbb ebx, 0xffffffff
add ebx, 0xffffffc0
mov rbp, qword [rsp + 0x68]
jmp 0x140057080
xor ebx, ebx
mov rcx, qword [rsp + 0x28]
and ebx, 0x3f
mov r8d, 0x40
sub r8d, ebx
call fcn.1400577d0
test eax, eax
je 0x1400576c8
mov r9, qword [rsp + 0x28]
mov eax, dword [r9 + 8]
test eax, eax
mov rdx, rsi
jle 0x1400570cd
mov rcx, qword [r9]
nop dword [rax]
mov r8d, eax
cmp qword [rcx + r8*8 - 8], 0
jne 0x1400570c9
lea r8d, [rax - 1]
cmp eax, 1
mov eax, r8d
jg 0x1400570b0
xor eax, eax
mov dword [r9 + 8], eax
mov dword [r9 + 0x10], 0
mov r8d, 0x80
sub r8d, ebx
mov rcx, rbp
mov dword [rsp + 0x48], r8d
call fcn.1400577d0
test eax, eax
je 0x1400576c8
mov eax, dword [rbp + 8]
test eax, eax
jle 0x14005712d
mov rcx, qword [rbp]
mov r8, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x140057138
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x140057110
mov dword [rbp + 8], 0
jmp 0x140057134
mov r8, qword [rsp + 0x28]
jne 0x14005713b
xor eax, eax
jmp 0x14005713b
mov dword [rbp + 8], eax
mov dword [rbp + 0x10], 0
movsxd rdx, dword [r8 + 8]
lea ecx, [rdx + 1]
cmp eax, ecx
jle 0x140057184
inc eax
movsxd rdx, eax
mov rcx, rbp
call fcn.140054cc0
test eax, eax
je 0x1400576c8
mov rax, qword [rbp]
movsxd rcx, dword [rbp + 8]
mov qword [rax + rcx*8], 0
mov ebx, dword [rbp + 8]
inc ebx
mov rax, rdi
mov rcx, rsi
mov r9, qword [rsp + 0x28]
jmp 0x1400571dc
add rdx, 2
mov rcx, rbp
call fcn.140054cc0
test eax, eax
je 0x1400576c8
movsxd rdx, dword [rbp + 8]
mov r9, qword [rsp + 0x28]
mov ebx, dword [r9 + 8]
add ebx, 2
cmp edx, ebx
mov rax, rdi
mov rcx, rsi
jge 0x1400571dc
nop word cs:[rax + rax]
mov r8, qword [rbp]
mov qword [r8 + rdx*8], 0
inc rdx
movsxd rbx, dword [r9 + 8]
add rbx, 2
cmp rdx, rbx
jl 0x1400571c0
mov dword [rbp + 8], ebx
movsxd r12, dword [r9 + 8]
mov esi, ebx
sub esi, r12d
mov rdx, qword [r9]
cmp r12, 1
jne 0x1400571f6
xor r9d, r9d
jmp 0x1400571fb
mov r9, qword [rdx + r12*8 - 0x10]
mov qword [rsp + 0x60], r9
mov r9, qword [rbp]
mov qword [rsp + 0x70], r9
mov rdi, qword [rdx + r12*8 - 8]
mov ecx, dword [rcx + 0x10]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x44], ecx
xor eax, ecx
mov dword [r15 + 0x10], eax
lea eax, [rsi + 1]
movsxd rdx, eax
mov rcx, r15
call fcn.140054cc0
test eax, eax
je 0x1400576c8
lea eax, [rsi - 1]
mov dword [r15 + 8], eax
mov dword [rsp + 0x4c], eax
movsxd r14, eax
shl r14, 3
add r14, qword [r15]
lea rdx, [r12 + 1]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x78], rdx
call fcn.140054cc0
test eax, eax
je 0x1400576c8
mov qword [rsp + 0x30], r12
cmp dword [r15 + 8], 0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r13
je 0x140057281
add r14, 0xfffffffffffffff8
jmp 0x140057289
mov dword [r15 + 0x10], 0
mov r11, qword [rsp + 0x30]
cmp esi, 2
jl 0x140057642
movsxd rax, esi
movsxd rcx, ebx
mov rdx, qword [rsp + 0x70]
lea r15, [rdx + rax*8]
lea rbx, [rdx + rcx*8]
add rbx, 0xfffffffffffffff8
xor esi, esi
jmp 0x1400572d1
add rbx, 0xfffffffffffffff8
mov rax, qword [rsp + 0x88]
mov qword [r14], rax
inc esi
add r14, 0xfffffffffffffff8
cmp esi, dword [rsp + 0x4c]
je 0x140057642
mov r13, r15
mov qword [rsp + 0x80], 0
mov r8, qword [rbx]
mov rcx, 0xffffffffffffffff
cmp r8, rdi
mov r12, qword [rsp + 0x60]
je 0x140057382
mov r9, qword [rbx - 8]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x88]
lea rdx, [rsp + 0x80]
call fcn.140057bb0
mov rcx, qword [rsp + 0x88]
mov rax, rcx
mul r12
mov r8, qword [rsp + 0x80]
mov r9, qword [rbx - 0x10]
cmp r9, rax
mov r10, r8
sbb r10, rdx
jae 0x140057375
add r8, rdi
dec rcx
mov r10, rcx
mov r11, r8
nop word [rax + rax]
mov r8, r11
mov rcx, r10
cmp r11, rdi
jb 0x140057375
sub rax, r12
sbb rdx, 0
lea r11, [r8 + rdi]
lea r10, [rcx - 1]
cmp r9, rax
mov r15, r8
sbb r15, rdx
jb 0x140057350
mov qword [rsp + 0x80], r8
mov r11, qword [rsp + 0x30]
mov qword [rsp + 0x88], rcx
test r11d, r11d
je 0x14005743c
mov rax, qword [rsp + 0x38]
mov r15, qword [rax]
mov rax, qword [rsp + 0x28]
mov r12, qword [rax]
mov rbp, r11
xor r8d, r8d
cmp r11d, 4
jb 0x14005742b
nop
mov rax, rcx
mul qword [r12]
mov r9, rdx
mov r10, rax
add rax, r8
mov qword [r15], rax
mov rax, rcx
mul qword [r12 + 8]
mov r11, rdx
add r10, r8
adc rax, r9
setb r9b
mov qword [r15 + 8], rax
mov rax, rcx
mul qword [r12 + 0x10]
mov r8, rdx
add r9b, 0xff
adc rax, r11
setb r9b
mov qword [r15 + 0x10], rax
mov rax, rcx
mul qword [r12 + 0x18]
add r9b, 0xff
adc rax, r8
mov r8, rdx
adc r8, 0
mov qword [r15 + 0x18], rax
add r12, 0x20
add r15, 0x20
add rbp, 0xfffffffffffffffc
cmp rbp, 4
jae 0x1400573b0
test rbp, rbp
je 0x1400574a9
test bpl, 1
jne 0x140057440
mov r11, rbp
cmp rbp, 1
jne 0x140057466
jmp 0x1400574ac
xor edx, edx
jmp 0x1400574ac
mov rax, rcx
mul qword [r12]
add rax, r8
adc rdx, 0
mov qword [r15], rax
add r12, 8
add r15, 8
lea r11, [rbp - 1]
mov r8, rdx
cmp rbp, 1
je 0x1400574ac
xor ebp, ebp
nop dword [rax + rax]
mov rax, rcx
mul qword [r12 + rbp*8]
mov r9, rdx
mov r10, rax
add rax, r8
mov qword [r15 + rbp*8], rax
mov rax, rcx
mul qword [r12 + rbp*8 + 8]
add r10, r8
adc rax, r9
adc rdx, 0
mov qword [r15 + rbp*8 + 8], rax
add rbp, 2
mov r8, rdx
cmp r11, rbp
jne 0x140057470
jmp 0x1400574ac
mov rdx, r8
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov r12, qword [rsp + 0x30]
mov qword [rax + r12*8], rdx
lea r15, [r13 - 8]
mov r8, qword [rcx]
mov rcx, r15
mov rdx, r15
mov r9, qword [rsp + 0x78]
call fcn.140055810
mov r11, r12
test rax, rax
mov rbp, qword [rsp + 0x68]
je 0x1400572b2
dec qword [rsp + 0x88]
test r11d, r11d
je 0x1400572b2
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
cmp r11d, 4
jae 0x14005751e
mov rdx, r15
mov rcx, r11
xor r8d, r8d
test cl, 1
jne 0x1400575c3
mov r10, rcx
jmp 0x1400575e3
xor edx, edx
mov rcx, r11
xor r8d, r8d
nop word cs:[rax + rax]
xor r9d, r9d
add r8, qword [rax + rdx]
setb r9b
add qword [r13 + rdx - 8], r8
adc r9, qword [rax + rdx + 8]
setb r8b
add qword [r13 + rdx], r9
mov r9, qword [r13 + rdx + 8]
setb r10b
xor r11d, r11d
add r9, qword [rax + rdx + 0x10]
setb r11b
movzx r8d, r8b
add r10b, 0xff
adc r8, r9
mov r9, qword [r13 + rdx + 0x10]
setb r10b
mov qword [r13 + rdx + 8], r8
xor r8d, r8d
add r9, qword [rax + rdx + 0x18]
setb r8b
add r10b, 0xff
adc r11, r9
adc r8, 0
mov qword [r13 + rdx + 0x10], r11
add rcx, 0xfffffffffffffffc
add rdx, 0x20
cmp rcx, 4
jae 0x140057530
test rcx, rcx
je 0x140057629
add rax, rdx
add rdx, r13
add rdx, 0xfffffffffffffff8
mov r11, qword [rsp + 0x30]
test cl, 1
je 0x140057516
xor r9d, r9d
add r8, qword [rax]
setb r9b
add qword [rdx], r8
adc r9, 0
add rdx, 8
add rax, 8
lea r10, [rcx - 1]
mov r8, r9
cmp rcx, 1
je 0x140057631
xor ecx, ecx
mov r9, r8
nop
xor r8d, r8d
add r9, qword [rax + rcx*8]
setb r8b
add r9, qword [rdx + rcx*8]
mov qword [rdx + rcx*8], r9
adc r8, qword [rax + rcx*8 + 8]
setb r9b
movzx r9d, r9b
add r8, qword [rdx + rcx*8 + 8]
adc r9, 0
mov qword [rdx + rcx*8 + 8], r8
add rcx, 2
cmp r10, rcx
jne 0x1400575f0
jmp 0x140057631
mov r9, r8
mov r11, qword [rsp + 0x30]
test r9, r9
je 0x1400572b2
inc qword [rbx]
jmp 0x1400572b2
mov eax, dword [rbp + 8]
test eax, eax
jle 0x140057674
mov rcx, qword [rbp]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x140057689
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x140057657
mov dword [rbp + 8], 0
jmp 0x140057680
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
jne 0x14005768c
mov dword [rbp + 0x10], 0
jmp 0x14005768c
mov dword [rbp + 8], eax
test rdi, rdi
je 0x140057777
mov rcx, rdi
mov rdx, rbp
mov r8d, dword [rsp + 0x48]
call fcn.140057ea0
test eax, eax
je 0x1400576c8
movsxd rax, dword [rdi + 8]
test rax, rax
je 0x140057777
mov rcx, qword [rdi]
cmp eax, 4
jae 0x140057718
xor edx, edx
xor r8d, r8d
jmp 0x14005775f
xor esi, esi
mov r8, qword [rsp + 0x100]
cmp byte [r8 + 0x28], 0
jne 0x1400576f2
mov rax, qword [r8 + 8]
mov rcx, qword [r8 + 0x10]
lea rdx, [rcx - 1]
mov qword [r8 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r8 + 0x20], rax
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14025cd50
mov eax, esi
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, rax
and rdx, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r8d, r8d
pxor xmm1, xmm1
movdqu xmm2, xmmword [rcx + r8*8]
por xmm0, xmm2
movdqu xmm2, xmmword [rcx + r8*8 + 0x10]
por xmm1, xmm2
add r8, 4
cmp rdx, r8
jne 0x14005772a
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r8, xmm0
cmp rdx, rax
je 0x14005776b
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x14005775f
test r8, r8
je 0x140057777
mov eax, dword [rsp + 0x44]
mov dword [rdi + 0x10], eax
mov eax, dword [rsi + 8]
test eax, eax
jle 0x1400577a6
mov rcx, qword [rsi]
mov r8, qword [rsp + 0x100]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x1400577c1
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x140057789
mov dword [rsi + 8], 0
jmp 0x1400577b0
mov r8, qword [rsp + 0x100]
jne 0x1400577b7
mov dword [rsi + 0x10], 0
mov esi, 1
jmp 0x1400576d2
mov dword [rsi + 8], eax
mov esi, 1
jmp 0x1400576d2