Function at 0x140055cb0
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, r9
mov rbp, r8
mov rbx, rcx
mov r15, qword [rsp + 0x100]
mov rax, qword [0x1403acd78]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov eax, dword [r8 + 8]
mov ecx, eax
sar ecx, 0x1f
and ecx, eax
nop word cs:[rax + rax]
test eax, eax
jle 0x140055d1d
mov r8, qword [rbp]
lea r9, [rax - 1]
cmp qword [r8 + rax*8 - 8], 0
mov rax, r9
je 0x140055d00
inc r9d
mov ecx, r9d
mov esi, dword [r13 + 8]
movsxd rax, esi
mov r8d, eax
sar r8d, 0x1f
and r8d, eax
mov r9, rsi
nop word cs:[rax + rax]
test r9d, r9d
jle 0x140055d5e
mov r11, qword [r13]
lea r10, [r9 - 1]
cmp qword [r11 + r9*8 - 8], 0
mov r9, r10
je 0x140055d40
inc r10d
mov r8d, r10d
test ecx, ecx
jle 0x140055d6f
mov r9, qword [rbp]
dec ecx
cmp qword [r9 + rcx*8], 0
je 0x140055d9e
test r8d, r8d
jle 0x140055d82
mov rcx, qword [r13]
dec r8d
cmp qword [rcx + r8*8], 0
je 0x140055d9e
test esi, esi
je 0x140055f34
mov rcx, qword [r13]
cmp esi, 4
jae 0x140055dc6
xor r8d, r8d
xor r9d, r9d
jmp 0x140055ec0
mov dword [rsp + 0x20], 0xd4
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c
xor edi, edi
mov ecx, 3
xor edx, edx
mov r8d, reloc.WS2_32.dll_WSAGetLastError
call fcn.140049240
jmp 0x140056764
lea r9, [rax - 4]
mov r8, r9
shr r8, 2
inc r8
mov r11d, r8d
and r11d, 3
cmp r9, 0xc
jae 0x140055dee
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
jmp 0x140055e61
and r8, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
nop dword [rax]
movdqu xmm2, xmmword [rcx + r9*8]
por xmm2, xmm0
movdqu xmm0, xmmword [rcx + r9*8 + 0x10]
por xmm0, xmm1
movdqu xmm1, xmmword [rcx + r9*8 + 0x20]
movdqu xmm3, xmmword [rcx + r9*8 + 0x30]
movdqu xmm4, xmmword [rcx + r9*8 + 0x40]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [rcx + r9*8 + 0x50]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [rcx + r9*8 + 0x60]
por xmm0, xmm4
movdqu xmm1, xmmword [rcx + r9*8 + 0x70]
por xmm1, xmm2
add r9, 0x10
add r8, 0xfffffffffffffffc
jne 0x140055e00
mov r8, rax
and r8, 0xfffffffffffffffc
test r11, r11
je 0x140055e9e
lea r9, [rcx + r9*8]
add r9, 0x10
shl r11, 5
xor r10d, r10d
nop dword [rax]
movdqu xmm2, xmmword [r9 + r10 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + r10]
por xmm1, xmm2
add r10, 0x20
cmp r11, r10
jne 0x140055e80
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r9, xmm1
cmp r8, rax
je 0x140055ecc
nop word cs:[rax + rax]
or r9, qword [rcx + r8*8]
inc r8
cmp rax, r8
jne 0x140055ec0
test r9, r9
je 0x140055f34
mov qword [rsp + 0x70], rdx
cmp byte [r15 + 0x28], 0
jne 0x140055f71
mov rcx, qword [r15 + 0x10]
mov rsi, qword [r15 + 0x20]
cmp rcx, qword [r15 + 0x18]
jne 0x140055f5c
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov edi, 0x20
cmovne rdi, rax
cmp rdi, rcx
jbe 0x140055f6a
mov rax, rdi
shr rax, 0x3d
jne 0x140055f6a
lea rdx, [rdi*8]
mov rcx, qword [r15 + 8]
call fcn.14009eae0
test rax, rax
je 0x140055f6a
mov qword [r15 + 8], rax
mov qword [r15 + 0x18], rdi
mov rcx, qword [r15 + 0x10]
jmp 0x140055f60
mov dword [rsp + 0x20], 0xd9
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_div.c
xor edi, edi
mov ecx, 3
xor edx, edx
mov r8d, 0x69
call fcn.140049240
jmp 0x140056764
mov rax, qword [r15 + 8]
mov qword [rax + rcx*8], rsi
inc qword [r15 + 0x10]
jmp 0x140055f71
mov word [r15 + 0x28], 0x101
mov rcx, r15
call fcn.140055ae0
mov qword [rsp + 0x58], rax
mov rcx, r15
call fcn.140055ae0
mov qword [rsp + 0x40], rax
mov rcx, r15
call fcn.140055ae0
mov r12, rax
test rbx, rbx
jne 0x140055fa6
mov rcx, r15
call fcn.140055ae0
mov rbx, rax
mov qword [rsp + 0x38], rbx
test r12, r12
je 0x140056742
cmp qword [rsp + 0x38], 0
je 0x140056742
mov eax, dword [r13 + 8]
mov ecx, eax
sar ecx, 0x1f
and ecx, eax
mov r8, rax
nop
test r8d, r8d
jle 0x140055ff0
mov rdx, qword [r13]
lea r9, [r8 - 1]
cmp qword [rdx + r8*8 - 8], 0
mov r8, r9
je 0x140055fd0
inc r9d
mov ecx, r9d
jmp 0x140055ffe
xor esi, esi
test eax, eax
jns 0x14005609e
mov rdx, qword [r13]
movsxd rax, ecx
shl ecx, 6
mov rdx, qword [rdx + rax*8 - 8]
xor eax, eax
test rdx, rdx
setne al
or eax, ecx
xor ecx, ecx
mov r8, rdx
shr r8, 0x20
cmove r8, rdx
setne cl
shl ecx, 5
mov r9, r8
shr r9, 0x10
xor edx, edx
cmp r8, 0x10000
cmovb r9, r8
setae dl
shl edx, 4
mov r10, r9
shr r10, 8
xor r8d, r8d
cmp r9, 0x100
cmovb r10, r9
setae r8b
mov r9, r10
shr r9, 4
xor r11d, r11d
cmp r10, 0x10
setae r11b
cmovb r9, r10
mov r10, r9
shr r10, 2
xor edi, edi
cmp r9, 4
setae dil
cmovb r10, r9
add edi, edi
or ecx, eax
or ecx, edx
lea eax, [rcx + r8*8]
lea esi, [rax + r11*4]
add esi, 0xffffffc0
or esi, edi
cmp r10, 2
sbb esi, 0xffffffff
and esi, 0x3f
mov r8d, 0x40
sub r8d, esi
mov rcx, r12
mov rdx, r13
call fcn.1400568e0
test eax, eax
je 0x140056742
mov eax, dword [r12 + 8]
mov ecx, eax
sar ecx, 0x1f
and ecx, eax
mov rdx, rax
nop dword [rax]
test edx, edx
jle 0x1400560f1
mov r9, qword [r12]
lea r8, [rdx - 1]
cmp qword [r9 + rdx*8 - 8], 0
mov rdx, r8
je 0x1400560d0
inc r8d
mov dword [r12 + 8], r8d
jmp 0x140056103
mov dword [r12 + 8], ecx
test eax, eax
js 0x140056103
mov dword [r12 + 0x10], 0
mov dword [r12 + 0x10], 0
mov r8d, 0x80
sub r8d, esi
mov rcx, qword [rsp + 0x40]
mov rdx, rbp
mov dword [rsp + 0x68], r8d
call fcn.1400568e0
test eax, eax
je 0x140056742
mov rcx, qword [rsp + 0x40]
mov r10d, dword [rcx + 8]
mov eax, r10d
sar eax, 0x1f
and eax, r10d
mov rdx, r10
nop word cs:[rax + rax]
test edx, edx
jle 0x140056172
mov r9, qword [rcx]
lea r8, [rdx - 1]
cmp qword [r9 + rdx*8 - 8], 0
mov rdx, r8
je 0x140056150
inc r8d
mov dword [rcx + 8], r8d
mov eax, r8d
jmp 0x140056181
mov dword [rcx + 8], eax
test r10d, r10d
js 0x140056181
mov dword [rcx + 0x10], 0
mov dword [rcx + 0x10], 0
movsxd rdx, dword [r12 + 8]
lea r8d, [rdx + 1]
cmp eax, r8d
jle 0x1400561c3
inc eax
movsxd rdx, eax
call fcn.140053090
test eax, eax
je 0x140056742
mov rdx, qword [rsp + 0x40]
mov rax, qword [rdx]
movsxd rcx, dword [rdx + 8]
mov qword [rax + rcx*8], 0
mov edi, dword [rdx + 8]
inc edi
jmp 0x14005620c
add rdx, 2
call fcn.140053090
test eax, eax
je 0x140056742
mov rdx, qword [rsp + 0x40]
movsxd rax, dword [rdx + 8]
mov edi, dword [r12 + 8]
add edi, 2
cmp eax, edi
jge 0x14005620c
nop dword [rax]
mov rcx, qword [rdx]
mov qword [rcx + rax*8], 0
inc rax
movsxd rdi, dword [r12 + 8]
add rdi, 2
cmp rax, rdi
jl 0x1400561f0
mov dword [rdx + 8], edi
movsxd r14, dword [r12 + 8]
mov ebx, edi
sub ebx, r14d
mov rax, qword [r12]
cmp r14, 1
jne 0x140056227
xor ecx, ecx
jmp 0x14005622c
mov rcx, qword [rax + r14*8 - 0x10]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rdx]
mov qword [rsp + 0x28], rcx
mov rsi, qword [rax + r14*8 - 8]
mov ebp, dword [rbp + 0x10]
mov eax, dword [r13 + 0x10]
xor eax, ebp
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 0x10], eax
lea eax, [rbx + 1]
movsxd rdx, eax
call fcn.140053090
test eax, eax
je 0x140056742
mov r13, r14
lea ecx, [rbx - 1]
mov rax, qword [rsp + 0x38]
mov dword [rax + 8], ecx
mov dword [rsp + 0x6c], ecx
movsxd r14, ecx
shl r14, 3
add r14, qword [rax]
lea rdx, [r13 + 1]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x78], rdx
call fcn.140053090
test eax, eax
je 0x140056742
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
mov dword [rsp + 0x64], ebp
je 0x1400562b3
add r14, 0xfffffffffffffff8
mov qword [rsp + 0x50], r14
jmp 0x1400562bf
mov qword [rsp + 0x50], r14
mov dword [rax + 0x10], 0
mov r14, qword [rsp + 0x30]
cmp ebx, 2
jl 0x1400566a9
movsxd rax, ebx
movsxd rcx, edi
mov rdx, qword [rsp + 0x28]
lea rbx, [rdx + rax*8]
lea rdi, [rdx + rcx*8]
add rdi, 0xfffffffffffffff8
xor eax, eax
mov qword [rsp + 0x28], rax
xor r15d, r15d
mov qword [rsp + 0x48], r13
jmp 0x140056320
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
inc r15d
add rdi, 0xfffffffffffffff8
add rcx, 0xfffffffffffffff8
mov qword [rsp + 0x50], rcx
cmp r15d, dword [rsp + 0x6c]
je 0x1400566a9
mov rbp, rbx
mov qword [rsp + 0x80], 0
mov r8, qword [rdi]
mov rcx, 0xffffffffffffffff
cmp r8, rsi
je 0x1400563bd
mov r9, qword [rdi - 8]
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x88]
lea rdx, [rsp + 0x80]
call fcn.140056d50
mov rcx, qword [rsp + 0x88]
mov rax, rcx
mul r14
mov r8, qword [rsp + 0x80]
mov r9, qword [rdi - 0x10]
cmp r9, rax
mov r10, r8
sbb r10, rdx
jae 0x1400563b5
add r8, rsi
dec rcx
mov r10, rcx
mov r11, r8
nop dword [rax]
mov r8, r11
mov rcx, r10
cmp r11, rsi
jb 0x1400563b5
sub rax, r14
sbb rdx, 0
lea r11, [r8 + rsi]
lea r10, [rcx - 1]
cmp r9, rax
mov rbx, r8
sbb rbx, rdx
jb 0x140056390
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], rcx
test r13d, r13d
je 0x1400563e6
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax]
mov r14, qword [r12]
cmp r13d, 4
jae 0x1400563f0
mov r8, qword [rsp + 0x28]
jmp 0x140056473
mov rdx, qword [rsp + 0x28]
jmp 0x1400564f1
mov r8, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov rax, rcx
mul qword [r14]
mov r9, rdx
mov r10, rax
add rax, r8
mov qword [rbx], rax
mov rax, rcx
mul qword [r14 + 8]
mov r11, rdx
add r10, r8
adc rax, r9
setb r9b
mov qword [rbx + 8], rax
mov rax, rcx
mul qword [r14 + 0x10]
mov r8, rdx
add r9b, 0xff
adc rax, r11
setb r9b
mov qword [rbx + 0x10], rax
mov rax, rcx
mul qword [r14 + 0x18]
add r9b, 0xff
adc rax, r8
mov r8, rdx
adc r8, 0
mov qword [rbx + 0x18], rax
add r14, 0x20
add rbx, 0x20
add r13, 0xfffffffffffffffc
cmp r13, 4
jae 0x140056400
test r13, r13
je 0x1400564e9
test r13b, 1
jne 0x14005647e
mov r11, r13
jmp 0x14005649d
mov rax, rcx
mul qword [r14]
add rax, r8
adc rdx, 0
mov qword [rbx], rax
add r14, 8
add rbx, 8
lea r11, [r13 - 1]
mov r8, rdx
cmp r13, 1
mov r13, qword [rsp + 0x48]
je 0x1400564f1
mov r13, qword [rsp + 0x28]
nop dword [rax]
mov rax, rcx
mul qword [r14 + r13*8]
mov r9, rdx
mov r10, rax
add rax, r8
mov qword [rbx + r13*8], rax
mov rax, rcx
mul qword [r14 + r13*8 + 8]
add r10, r8
adc rax, r9
adc rdx, 0
mov qword [rbx + r13*8 + 8], rax
add r13, 2
mov r8, rdx
cmp r11, r13
jne 0x1400564b0
jmp 0x1400564ec
mov rdx, r8
mov r13, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov qword [rax + r13*8], rdx
lea rbx, [rbp - 8]
mov r8, qword [rcx]
mov rcx, rbx
mov rdx, rbx
mov r9, qword [rsp + 0x78]
call fcn.1400540a0
test rax, rax
mov r14, qword [rsp + 0x30]
je 0x1400562f5
dec qword [rsp + 0x88]
test r13d, r13d
je 0x1400562f5
mov rax, qword [r12]
cmp r13d, 4
jae 0x14005655e
mov rcx, qword [rsp + 0x28]
mov r8, rbx
mov rdx, r13
test dl, 1
jne 0x140056616
mov r10, qword [rsp + 0x28]
mov r9, rdx
jmp 0x14005663e
mov r9, qword [rsp + 0x28]
mov r8, r9
mov rcx, r9
mov rdx, r13
nop dword [rax]
add rcx, qword [rbp + r8 - 8]
adc r9, 0
add rcx, qword [rax + r8]
adc r9, 0
mov qword [rbp + r8 - 8], rcx
xor ecx, ecx
add r9, qword [rbp + r8]
setb cl
mov r10, qword [rax + r8 + 8]
lea r11, [r9 + r10]
mov qword [rbp + r8], r11
mov r11, qword [rax + r8 + 0x10]
xor r14d, r14d
add r11, qword [rbp + r8 + 8]
setb r14b
add r9, r10
adc rcx, r11
setb r9b
mov qword [rbp + r8 + 8], rcx
mov r10, qword [rax + r8 + 0x18]
xor ecx, ecx
add r10, qword [rbp + r8 + 0x10]
setb cl
add r9b, 0xff
adc r14, r10
adc rcx, 0
mov qword [rbp + r8 + 0x10], r14
add rdx, 0xfffffffffffffffc
add r8, 0x20
mov r9d, 0
cmp rdx, 4
jae 0x140056570
test rdx, rdx
je 0x140056690
add rax, r8
add r8, rbp
add r8, 0xfffffffffffffff8
mov r14, qword [rsp + 0x30]
test dl, 1
je 0x140056551
add rcx, qword [r8]
mov r10, qword [rsp + 0x28]
mov r11, r10
adc r11, 0
add rcx, qword [rax]
adc r11, 0
mov qword [r8], rcx
add r8, 8
add rax, 8
lea r9, [rdx - 1]
mov rcx, r11
cmp rdx, 1
je 0x140056698
mov rdx, qword [rsp + 0x28]
nop dword [rax]
add rcx, qword [r8 + rdx*8]
adc r10, 0
add rcx, qword [rax + rdx*8]
adc r10, 0
mov qword [r8 + rdx*8], rcx
xor ecx, ecx
add r10, qword [r8 + rdx*8 + 8]
setb cl
add r10, qword [rax + rdx*8 + 8]
adc rcx, 0
mov qword [r8 + rdx*8 + 8], r10
add rdx, 2
mov r10d, 0
cmp r9, rdx
jne 0x140056650
mov r11, rcx
jmp 0x140056698
mov r11, rcx
mov r14, qword [rsp + 0x30]
test r11, r11
je 0x1400562f5
inc qword [rdi]
jmp 0x1400562f5
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + 8]
mov r10d, eax
sar r10d, 0x1f
and r10d, eax
mov rsi, rax
mov r15, qword [rsp + 0x100]
mov r11, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
mov edi, dword [rsp + 0x64]
test esi, esi
jle 0x1400566f3
mov r9, qword [rdx]
lea r8, [rsi - 1]
cmp qword [r9 + rsi*8 - 8], 0
mov rsi, r8
je 0x1400566d4
inc r8d
mov dword [rdx + 8], r8d
jmp 0x140056702
mov dword [rdx + 8], r10d
test eax, eax
js 0x140056702
mov dword [rdx + 0x10], 0
test rcx, rcx
je 0x140056885
mov r8d, dword [rsp + 0x68]
call fcn.140057020
test eax, eax
je 0x140056742
mov rsi, qword [rsp + 0x70]
movsxd rax, dword [rsi + 8]
test rax, rax
mov r11, qword [rsp + 0x38]
je 0x140056885
mov rcx, qword [rsi]
cmp eax, 4
jae 0x14005678a
xor r8d, r8d
xor edx, edx
jmp 0x140056871
xor edi, edi
cmp byte [r15 + 0x28], 0
jne 0x140056764
mov rax, qword [r15 + 8]
mov rcx, qword [r15 + 0x10]
lea rdx, [rcx - 1]
mov qword [r15 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r15 + 0x20], rax
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140279500
mov eax, edi
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r9, [rax - 4]
mov r8, r9
shr r8, 2
inc r8
mov edx, r8d
and edx, 3
cmp r9, 0xc
jae 0x1400567b1
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
jmp 0x140056821
and r8, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r9d, r9d
pxor xmm1, xmm1
movdqu xmm2, xmmword [rcx + r9*8]
por xmm2, xmm0
movdqu xmm0, xmmword [rcx + r9*8 + 0x10]
por xmm0, xmm1
movdqu xmm1, xmmword [rcx + r9*8 + 0x20]
movdqu xmm3, xmmword [rcx + r9*8 + 0x30]
movdqu xmm4, xmmword [rcx + r9*8 + 0x40]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [rcx + r9*8 + 0x50]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [rcx + r9*8 + 0x60]
por xmm0, xmm4
movdqu xmm1, xmmword [rcx + r9*8 + 0x70]
por xmm1, xmm2
add r9, 0x10
add r8, 0xfffffffffffffffc
jne 0x1400567c0
mov r8, rax
and r8, 0xfffffffffffffffc
test rdx, rdx
je 0x14005685a
lea r9, [rcx + r9*8]
add r9, 0x10
shl rdx, 5
xor r10d, r10d
movdqu xmm2, xmmword [r9 + r10 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + r10]
por xmm1, xmm2
add r10, 0x20
cmp rdx, r10
jne 0x14005683c
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
cmp r8, rax
je 0x14005687d
or rdx, qword [rcx + r8*8]
inc r8
cmp rax, r8
jne 0x140056871
test rdx, rdx
je 0x140056885
mov dword [rsi + 0x10], edi
mov eax, dword [r11 + 8]
mov ecx, eax
sar ecx, 0x1f
and ecx, eax
mov rdx, rax
test edx, edx
jle 0x1400568ba
mov r9, qword [r11]
lea r8, [rdx - 1]
cmp qword [r9 + rdx*8 - 8], 0
mov rdx, r8
je 0x140056893
inc r8d
mov dword [r11 + 8], r8d
mov edi, 1
jmp 0x140056744
mov dword [r11 + 8], ecx
test eax, eax
js 0x1400568ca
mov dword [r11 + 0x10], 0
mov edi, 1
jmp 0x140056744