Function at 0x14004fc60
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 [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov ecx, dword [r8 + 8]
test ecx, ecx
jle 0x14004fcb6
mov rax, qword [r8]
nop word cs:[rax + rax]
mov edx, ecx
cmp qword [rax + rdx*8 - 8], 0
jne 0x14004fcb6
lea edx, [rcx - 1]
cmp ecx, 1
mov ecx, edx
jg 0x14004fca0
xor ecx, ecx
movsxd rax, dword [r9 + 8]
mov edx, eax
test rax, rax
jle 0x14004fce9
mov r10, qword [r9]
mov edx, eax
nop word cs:[rax + rax]
mov r11d, edx
cmp qword [r10 + r11*8 - 8], 0
jne 0x14004fce9
lea r11d, [rdx - 1]
cmp edx, 1
mov edx, r11d
jg 0x14004fcd0
xor edx, edx
test ecx, ecx
jle 0x14004fcfa
mov r10, qword [r8]
mov ecx, ecx
cmp qword [r10 + rcx*8 - 8], 0
je 0x14004fd25
test edx, edx
jle 0x14004fd0b
mov rcx, qword [r9]
mov edx, edx
cmp qword [rcx + rdx*8 - 8], 0
je 0x14004fd25
test eax, eax
je 0x14004fe26
mov rcx, qword [r9]
cmp eax, 4
jae 0x14004fd4d
xor edx, edx
xor r10d, r10d
jmp 0x14004fda0
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.140044b10
jmp 0x140050627
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 0x14004fd60
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp rdx, rax
je 0x14004fdac
nop word cs:[rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x14004fda0
test r10, r10
je 0x14004fe26
mov r12, qword [rsp + 0x100]
cmp byte [r12 + 0x28], 0
mov rdi, r9
mov rsi, r8
jne 0x14004fe66
mov rcx, qword [r12 + 0x10]
mov rbx, qword [r12 + 0x20]
cmp rcx, qword [r12 + 0x18]
jne 0x14004fe4e
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov r14d, 0x20
cmovne r14, rax
cmp r14, rcx
jbe 0x14004fe5e
mov rax, r14
shr rax, 0x3d
jne 0x14004fe5e
lea rdx, [r14*8]
mov rcx, qword [r12 + 8]
call fcn.14008beb0
test rax, rax
je 0x14004fe5e
mov qword [r12 + 8], rax
mov qword [r12 + 0x18], r14
mov rcx, qword [r12 + 0x10]
jmp 0x14004fe53
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.140044b10
jmp 0x140050627
mov rax, qword [r12 + 8]
mov qword [rax + rcx*8], rbx
inc qword [r12 + 0x10]
jmp 0x14004fe66
mov word [r12 + 0x28], 0x101
mov rcx, r12
call fcn.14004faf0
mov qword [rsp + 0x40], rax
mov rcx, r12
call fcn.14004faf0
mov rbp, rax
mov rcx, r12
call fcn.14004faf0
mov rbx, rax
test r15, r15
jne 0x14004fe99
mov rcx, r12
call fcn.14004faf0
mov r15, rax
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x1400505fd
test r15, r15
je 0x1400505fd
mov rdx, rdi
mov r9d, dword [rdi + 8]
test r9d, r9d
mov qword [rsp + 0x70], rbp
jle 0x14004feed
mov rax, qword [rdx]
nop word cs:[rax + rax]
mov r8d, r9d
cmp qword [rax + r8*8 - 8], 0
jne 0x14004fef6
lea r8d, [r9 - 1]
cmp r9d, 1
mov r9d, r8d
jg 0x14004fed0
jmp 0x14004ffa9
je 0x14004ffa9
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 0x14004ffb0
xor ebx, ebx
mov rcx, qword [rsp + 0x28]
and ebx, 0x3f
mov r8d, 0x40
sub r8d, ebx
call fcn.140050710
test eax, eax
je 0x1400505fd
mov r9, qword [rsp + 0x28]
mov eax, dword [r9 + 8]
test eax, eax
mov rdx, rsi
jle 0x14004fffd
mov rcx, qword [r9]
nop dword [rax]
mov r8d, eax
cmp qword [rcx + r8*8 - 8], 0
jne 0x14004fff9
lea r8d, [rax - 1]
cmp eax, 1
mov eax, r8d
jg 0x14004ffe0
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.140050710
test eax, eax
je 0x1400505fd
mov eax, dword [rbp + 8]
test eax, eax
jle 0x14005005d
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 0x140050068
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x140050040
mov dword [rbp + 8], 0
jmp 0x140050064
mov r8, qword [rsp + 0x28]
jne 0x14005006b
xor eax, eax
jmp 0x14005006b
mov dword [rbp + 8], eax
mov dword [rbp + 0x10], 0
movsxd rdx, dword [r8 + 8]
lea ecx, [rdx + 1]
cmp eax, ecx
jle 0x1400500b4
inc eax
movsxd rdx, eax
mov rcx, rbp
call fcn.14004dbf0
test eax, eax
je 0x1400505fd
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 0x14005010c
add rdx, 2
mov rcx, rbp
call fcn.14004dbf0
test eax, eax
je 0x1400505fd
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 0x14005010c
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 0x1400500f0
mov dword [rbp + 8], ebx
movsxd r12, dword [r9 + 8]
mov esi, ebx
sub esi, r12d
mov rdx, qword [r9]
cmp r12, 1
jne 0x140050126
xor r9d, r9d
jmp 0x14005012b
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.14004dbf0
test eax, eax
je 0x1400505fd
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.14004dbf0
test eax, eax
je 0x1400505fd
mov qword [rsp + 0x30], r12
cmp dword [r15 + 8], 0
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r13
je 0x1400501b1
add r14, 0xfffffffffffffff8
jmp 0x1400501b9
mov dword [r15 + 0x10], 0
mov r11, qword [rsp + 0x30]
cmp esi, 2
jl 0x140050577
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 0x140050201
add rbx, 0xfffffffffffffff8
mov rax, qword [rsp + 0x88]
mov qword [r14], rax
inc ecx
add r14, 0xfffffffffffffff8
cmp ecx, dword [rsp + 0x54]
je 0x140050577
mov qword [rsp + 0x38], rcx
mov r13, r15
mov qword [rsp + 0x80], 0
mov r8, qword [rbx]
mov rcx, 0xffffffffffffffff
cmp r8, rdi
je 0x1400502b2
mov r9, qword [rbx - 8]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x88]
lea rdx, [rsp + 0x80]
call fcn.140050ae0
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 0x1400502a5
add r8, rdi
dec rcx
mov r10, rcx
mov r11, r8
nop dword [rax]
mov r8, r11
mov rcx, r10
cmp r11, rdi
jb 0x1400502a5
sub rax, r15
sbb rdx, 0
lea r11, [r8 + rdi]
lea r10, [rcx - 1]
cmp r9, rax
mov rsi, r8
sbb rsi, rdx
jb 0x140050280
mov qword [rsp + 0x80], r8
mov r11, qword [rsp + 0x30]
mov qword [rsp + 0x88], rcx
test r11d, r11d
je 0x14005036f
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 0x14005035b
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 0x1400502e0
test rbp, rbp
je 0x1400503da
test bpl, 1
jne 0x140050374
mov rsi, rbp
mov r9, r8
cmp rbp, 1
jne 0x14005039d
jmp 0x1400503da
xor r8d, r8d
jmp 0x1400503da
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 0x1400503da
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 0x1400503a0
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.14004e740
mov r11, rsi
test rax, rax
mov rbp, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x38]
je 0x1400501e2
dec qword [rsp + 0x88]
test r11d, r11d
je 0x1400501e2
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
cmp r11d, 4
jae 0x140050451
mov rdx, r15
mov rcx, r11
xor r8d, r8d
test cl, 1
jne 0x1400504f3
mov r10, rcx
jmp 0x140050513
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 0x140050460
test rcx, rcx
je 0x140050559
add rax, rdx
add rdx, r13
add rdx, 0xfffffffffffffff8
mov r11, qword [rsp + 0x30]
test cl, 1
je 0x140050449
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 0x140050561
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 0x140050520
jmp 0x140050561
mov r9, r8
mov r11, qword [rsp + 0x30]
test r9, r9
mov rcx, qword [rsp + 0x38]
je 0x1400501e2
inc qword [rbx]
jmp 0x1400501e2
mov eax, dword [rbp + 8]
test eax, eax
jle 0x1400505a9
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 0x1400505be
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x14005058c
mov dword [rbp + 8], 0
jmp 0x1400505b5
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jne 0x1400505c1
mov dword [rbp + 0x10], 0
jmp 0x1400505c1
mov dword [rbp + 8], eax
test rdi, rdi
je 0x1400506ac
mov rcx, rdi
mov rdx, rbp
mov r8d, dword [rsp + 0x50]
call fcn.140050dd0
test eax, eax
je 0x1400505fd
movsxd rax, dword [rdi + 8]
test rax, rax
je 0x1400506ac
mov rcx, qword [rdi]
cmp eax, 4
jae 0x14005064d
xor edx, edx
xor r8d, r8d
jmp 0x140050694
xor esi, esi
mov r8, qword [rsp + 0x100]
cmp byte [r8 + 0x28], 0
jne 0x140050627
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.140258ea0
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 0x14005065f
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r8, xmm0
cmp rdx, rax
je 0x1400506a0
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x140050694
test r8, r8
je 0x1400506ac
mov eax, dword [rsp + 0x4c]
mov dword [rdi + 0x10], eax
mov eax, dword [rsi + 8]
test eax, eax
jle 0x1400506db
mov rcx, qword [rsi]
mov r8, qword [rsp + 0x100]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x1400506f6
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x1400506be
mov dword [rsi + 8], 0
jmp 0x1400506e5
mov r8, qword [rsp + 0x100]
jne 0x1400506ec
mov dword [rsi + 0x10], 0
mov esi, 1
jmp 0x140050607
mov dword [rsi + 8], eax
mov esi, 1
jmp 0x140050607