Function at 0x140056b50
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 [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov ecx, dword [r8 + 8]
test ecx, ecx
jle 0x140056ba6
mov rax, qword [r8]
nop word cs:[rax + rax]
mov edx, ecx
cmp qword [rax + rdx*8 - 8], 0
jne 0x140056ba6
lea edx, [rcx - 1]
cmp ecx, 1
mov ecx, edx
jg 0x140056b90
xor ecx, ecx
movsxd rax, dword [r9 + 8]
mov edx, eax
test rax, rax
jle 0x140056bd9
mov r10, qword [r9]
mov edx, eax
nop word cs:[rax + rax]
mov r11d, edx
cmp qword [r10 + r11*8 - 8], 0
jne 0x140056bd9
lea r11d, [rdx - 1]
cmp edx, 1
mov edx, r11d
jg 0x140056bc0
xor edx, edx
test ecx, ecx
jle 0x140056bea
mov r10, qword [r8]
mov ecx, ecx
cmp qword [r10 + rcx*8 - 8], 0
je 0x140056c15
test edx, edx
jle 0x140056bfb
mov rcx, qword [r9]
mov edx, edx
cmp qword [rcx + rdx*8 - 8], 0
je 0x140056c15
test eax, eax
je 0x140056d16
mov rcx, qword [r9]
cmp eax, 4
jae 0x140056c3d
xor edx, edx
xor r10d, r10d
jmp 0x140056c90
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.14004ba00
jmp 0x140057517
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 0x140056c50
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp rdx, rax
je 0x140056c9c
nop word cs:[rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x140056c90
test r10, r10
je 0x140056d16
mov r12, qword [rsp + 0x100]
cmp byte [r12 + 0x28], 0
mov rdi, r9
mov rsi, r8
jne 0x140056d56
mov rcx, qword [r12 + 0x10]
mov rbx, qword [r12 + 0x20]
cmp rcx, qword [r12 + 0x18]
jne 0x140056d3e
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov r14d, 0x20
cmovne r14, rax
cmp r14, rcx
jbe 0x140056d4e
mov rax, r14
shr rax, 0x3d
jne 0x140056d4e
lea rdx, [r14*8]
mov rcx, qword [r12 + 8]
call fcn.140092da0
test rax, rax
je 0x140056d4e
mov qword [r12 + 8], rax
mov qword [r12 + 0x18], r14
mov rcx, qword [r12 + 0x10]
jmp 0x140056d43
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.14004ba00
jmp 0x140057517
mov rax, qword [r12 + 8]
mov qword [rax + rcx*8], rbx
inc qword [r12 + 0x10]
jmp 0x140056d56
mov word [r12 + 0x28], 0x101
mov rcx, r12
call fcn.1400569e0
mov qword [rsp + 0x40], rax
mov rcx, r12
call fcn.1400569e0
mov rbp, rax
mov rcx, r12
call fcn.1400569e0
mov rbx, rax
test r15, r15
jne 0x140056d89
mov rcx, r12
call fcn.1400569e0
mov r15, rax
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x1400574ed
test r15, r15
je 0x1400574ed
mov rdx, rdi
mov r9d, dword [rdi + 8]
test r9d, r9d
mov qword [rsp + 0x70], rbp
jle 0x140056ddd
mov rax, qword [rdx]
nop word cs:[rax + rax]
mov r8d, r9d
cmp qword [rax + r8*8 - 8], 0
jne 0x140056de6
lea r8d, [r9 - 1]
cmp r9d, 1
mov r9d, r8d
jg 0x140056dc0
jmp 0x140056e99
je 0x140056e99
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 + 0x70]
jmp 0x140056ea0
xor ebx, ebx
mov rcx, qword [rsp + 0x28]
and ebx, 0x3f
mov r8d, 0x40
sub r8d, ebx
call fcn.140057600
test eax, eax
je 0x1400574ed
mov r9, qword [rsp + 0x28]
mov eax, dword [r9 + 8]
test eax, eax
mov rdx, rsi
jle 0x140056eed
mov rcx, qword [r9]
nop dword [rax]
mov r8d, eax
cmp qword [rcx + r8*8 - 8], 0
jne 0x140056ee9
lea r8d, [rax - 1]
cmp eax, 1
mov eax, r8d
jg 0x140056ed0
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 + 0x50], r8d
call fcn.140057600
test eax, eax
je 0x1400574ed
mov eax, dword [rbp + 8]
test eax, eax
jle 0x140056f4d
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 0x140056f58
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x140056f30
mov dword [rbp + 8], 0
jmp 0x140056f54
mov r8, qword [rsp + 0x28]
jne 0x140056f5b
xor eax, eax
jmp 0x140056f5b
mov dword [rbp + 8], eax
mov dword [rbp + 0x10], 0
movsxd rdx, dword [r8 + 8]
lea ecx, [rdx + 1]
cmp eax, ecx
jle 0x140056fa4
inc eax
movsxd rdx, eax
mov rcx, rbp
call fcn.140054ae0
test eax, eax
je 0x1400574ed
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 0x140056ffc
add rdx, 2
mov rcx, rbp
call fcn.140054ae0
test eax, eax
je 0x1400574ed
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 0x140056ffc
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 0x140056fe0
mov dword [rbp + 8], ebx
movsxd r12, dword [r9 + 8]
mov esi, ebx
sub esi, r12d
mov rdx, qword [r9]
cmp r12, 1
jne 0x140057016
xor r9d, r9d
jmp 0x14005701b
mov r9, qword [rdx + r12*8 - 0x10]
mov qword [rsp + 0x68], r9
mov r9, qword [rbp]
mov qword [rsp + 0x38], r9
mov rdi, qword [rdx + r12*8 - 8]
mov ecx, dword [rcx + 0x10]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x4c], ecx
xor eax, ecx
mov dword [r15 + 0x10], eax
lea eax, [rsi + 1]
movsxd rdx, eax
mov rcx, r15
call fcn.140054ae0
test eax, eax
je 0x1400574ed
lea eax, [rsi - 1]
mov dword [r15 + 8], eax
mov dword [rsp + 0x54], eax
movsxd r14, eax
shl r14, 3
add r14, qword [r15]
lea rdx, [r12 + 1]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x78], rdx
call fcn.140054ae0
test eax, eax
je 0x1400574ed
mov qword [rsp + 0x30], r12
cmp dword [r15 + 8], 0
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
je 0x1400570a1
add r14, 0xfffffffffffffff8
jmp 0x1400570a9
mov dword [r15 + 0x10], 0
mov r11, qword [rsp + 0x30]
cmp esi, 2
jl 0x140057467
movsxd rax, esi
movsxd rcx, ebx
mov rdx, qword [rsp + 0x38]
lea r15, [rdx + rax*8]
lea rbx, [rdx + rcx*8]
add rbx, 0xfffffffffffffff8
xor ecx, ecx
jmp 0x1400570f1
add rbx, 0xfffffffffffffff8
mov rax, qword [rsp + 0x88]
mov qword [r14], rax
inc ecx
add r14, 0xfffffffffffffff8
cmp ecx, dword [rsp + 0x54]
je 0x140057467
mov qword [rsp + 0x38], rcx
mov r13, r15
mov qword [rsp + 0x80], 0
mov r8, qword [rbx]
mov rcx, 0xffffffffffffffff
cmp r8, rdi
je 0x1400571a2
mov r9, qword [rbx - 8]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x88]
lea rdx, [rsp + 0x80]
call fcn.1400579d0
mov rcx, qword [rsp + 0x88]
mov rax, rcx
mov r15, qword [rsp + 0x68]
mul r15
mov r8, qword [rsp + 0x80]
mov r9, qword [rbx - 0x10]
cmp r9, rax
mov r10, r8
sbb r10, rdx
jae 0x140057195
add r8, rdi
dec rcx
mov r10, rcx
mov r11, r8
nop dword [rax]
mov r8, r11
mov rcx, r10
cmp r11, rdi
jb 0x140057195
sub rax, r15
sbb rdx, 0
lea r11, [r8 + rdi]
lea r10, [rcx - 1]
cmp r9, rax
mov rsi, r8
sbb rsi, rdx
jb 0x140057170
mov qword [rsp + 0x80], r8
mov r11, qword [rsp + 0x30]
mov qword [rsp + 0x88], rcx
test r11d, r11d
je 0x14005725f
mov rax, qword [rsp + 0x40]
mov r15, qword [rax]
mov rax, qword [rsp + 0x28]
mov r12, qword [rax]
mov rbp, r11
xor r8d, r8d
cmp r11d, 4
jb 0x14005724b
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 0x1400571d0
test rbp, rbp
je 0x1400572ca
test bpl, 1
jne 0x140057264
mov rsi, rbp
mov r9, r8
cmp rbp, 1
jne 0x14005728d
jmp 0x1400572ca
xor r8d, r8d
jmp 0x1400572ca
mov rax, rcx
mul qword [r12]
mov r9, rdx
add rax, r8
adc r9, 0
mov qword [r15], rax
add r12, 8
add r15, 8
lea rsi, [rbp - 1]
mov r8, r9
cmp rbp, 1
je 0x1400572ca
xor ebp, ebp
nop
mov rax, rcx
mul qword [r12 + rbp*8]
mov r10, rdx
mov r11, rax
add rax, r9
mov qword [r15 + rbp*8], rax
mov rax, rcx
mul qword [r12 + rbp*8 + 8]
mov r8, rdx
add r11, r9
adc rax, r10
adc r8, 0
mov qword [r15 + rbp*8 + 8], rax
add rbp, 2
mov r9, r8
cmp rsi, rbp
jne 0x140057290
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov rsi, qword [rsp + 0x30]
mov qword [rax + rsi*8], r8
lea r15, [r13 - 8]
mov r8, qword [rcx]
mov rcx, r15
mov rdx, r15
mov r9, qword [rsp + 0x78]
call fcn.140055630
mov r11, rsi
test rax, rax
mov rbp, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x38]
je 0x1400570d2
dec qword [rsp + 0x88]
test r11d, r11d
je 0x1400570d2
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
cmp r11d, 4
jae 0x140057341
mov rdx, r15
mov rcx, r11
xor r8d, r8d
test cl, 1
jne 0x1400573e3
mov r10, rcx
jmp 0x140057403
xor edx, edx
mov rcx, r11
xor r8d, r8d
nop dword [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 0x140057350
test rcx, rcx
je 0x140057449
add rax, rdx
add rdx, r13
add rdx, 0xfffffffffffffff8
mov r11, qword [rsp + 0x30]
test cl, 1
je 0x140057339
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 0x140057451
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 0x140057410
jmp 0x140057451
mov r9, r8
mov r11, qword [rsp + 0x30]
test r9, r9
mov rcx, qword [rsp + 0x38]
je 0x1400570d2
inc qword [rbx]
jmp 0x1400570d2
mov eax, dword [rbp + 8]
test eax, eax
jle 0x140057499
mov rcx, qword [rbp]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x1400574ae
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x14005747c
mov dword [rbp + 8], 0
jmp 0x1400574a5
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jne 0x1400574b1
mov dword [rbp + 0x10], 0
jmp 0x1400574b1
mov dword [rbp + 8], eax
test rdi, rdi
je 0x14005759c
mov rcx, rdi
mov rdx, rbp
mov r8d, dword [rsp + 0x50]
call fcn.140057cc0
test eax, eax
je 0x1400574ed
movsxd rax, dword [rdi + 8]
test rax, rax
je 0x14005759c
mov rcx, qword [rdi]
cmp eax, 4
jae 0x14005753d
xor edx, edx
xor r8d, r8d
jmp 0x140057584
xor esi, esi
mov r8, qword [rsp + 0x100]
cmp byte [r8 + 0x28], 0
jne 0x140057517
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.140259980
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 0x14005754f
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r8, xmm0
cmp rdx, rax
je 0x140057590
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x140057584
test r8, r8
je 0x14005759c
mov eax, dword [rsp + 0x4c]
mov dword [rdi + 0x10], eax
mov eax, dword [rsi + 8]
test eax, eax
jle 0x1400575cb
mov rcx, qword [rsi]
mov r8, qword [rsp + 0x100]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x1400575e6
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x1400575ae
mov dword [rsi + 8], 0
jmp 0x1400575d5
mov r8, qword [rsp + 0x100]
jne 0x1400575dc
mov dword [rsi + 0x10], 0
mov esi, 1
jmp 0x1400574f7
mov dword [rsi + 8], eax
mov esi, 1
jmp 0x1400574f7