Function at 0x140056cd0
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 [0x1403a6f68]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov ecx, dword [r8 + 8]
test ecx, ecx
jle 0x140056d26
mov rax, qword [r8]
nop word cs:[rax + rax]
mov edx, ecx
cmp qword [rax + rdx*8 - 8], 0
jne 0x140056d26
lea edx, [rcx - 1]
cmp ecx, 1
mov ecx, edx
jg 0x140056d10
xor ecx, ecx
movsxd rax, dword [r9 + 8]
mov edx, eax
test rax, rax
jle 0x140056d59
mov r10, qword [r9]
mov edx, eax
nop word cs:[rax + rax]
mov r11d, edx
cmp qword [r10 + r11*8 - 8], 0
jne 0x140056d59
lea r11d, [rdx - 1]
cmp edx, 1
mov edx, r11d
jg 0x140056d40
xor edx, edx
test ecx, ecx
jle 0x140056d6a
mov r10, qword [r8]
mov ecx, ecx
cmp qword [r10 + rcx*8 - 8], 0
je 0x140056d95
test edx, edx
jle 0x140056d7b
mov rcx, qword [r9]
mov edx, edx
cmp qword [rcx + rdx*8 - 8], 0
je 0x140056d95
test eax, eax
je 0x140056e96
mov rcx, qword [r9]
cmp eax, 4
jae 0x140056dbd
xor edx, edx
xor r10d, r10d
jmp 0x140056e10
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.14004bb80
jmp 0x140057692
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 0x140056dd0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp rdx, rax
je 0x140056e1c
nop word cs:[rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x140056e10
test r10, r10
je 0x140056e96
mov r12, qword [rsp + 0x100]
cmp byte [r12 + 0x28], 0
mov rdi, r9
mov rsi, r8
jne 0x140056ed6
mov rcx, qword [r12 + 0x10]
mov rbx, qword [r12 + 0x20]
cmp rcx, qword [r12 + 0x18]
jne 0x140056ebe
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov r14d, 0x20
cmovne r14, rax
cmp r14, rcx
jbe 0x140056ece
mov rax, r14
shr rax, 0x3d
jne 0x140056ece
lea rdx, [r14*8]
mov rcx, qword [r12 + 8]
call fcn.140093100
test rax, rax
je 0x140056ece
mov qword [r12 + 8], rax
mov qword [r12 + 0x18], r14
mov rcx, qword [r12 + 0x10]
jmp 0x140056ec3
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.14004bb80
jmp 0x140057692
mov rax, qword [r12 + 8]
mov qword [rax + rcx*8], rbx
inc qword [r12 + 0x10]
jmp 0x140056ed6
mov word [r12 + 0x28], 0x101
mov rcx, r12
call fcn.140056b60
mov qword [rsp + 0x38], rax
mov rcx, r12
call fcn.140056b60
mov rbp, rax
mov rcx, r12
call fcn.140056b60
mov rbx, rax
test r15, r15
jne 0x140056f09
mov rcx, r12
call fcn.140056b60
mov r15, rax
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x140057668
test r15, r15
je 0x140057668
mov rdx, rdi
mov r9d, dword [rdi + 8]
test r9d, r9d
mov qword [rsp + 0x68], rbp
jle 0x140056f5d
mov rax, qword [rdx]
nop word cs:[rax + rax]
mov r8d, r9d
cmp qword [rax + r8*8 - 8], 0
jne 0x140056f66
lea r8d, [r9 - 1]
cmp r9d, 1
mov r9d, r8d
jg 0x140056f40
jmp 0x140057019
je 0x140057019
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 0x140057020
xor ebx, ebx
mov rcx, qword [rsp + 0x28]
and ebx, 0x3f
mov r8d, 0x40
sub r8d, ebx
call fcn.140057770
test eax, eax
je 0x140057668
mov r9, qword [rsp + 0x28]
mov eax, dword [r9 + 8]
test eax, eax
mov rdx, rsi
jle 0x14005706d
mov rcx, qword [r9]
nop dword [rax]
mov r8d, eax
cmp qword [rcx + r8*8 - 8], 0
jne 0x140057069
lea r8d, [rax - 1]
cmp eax, 1
mov eax, r8d
jg 0x140057050
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.140057770
test eax, eax
je 0x140057668
mov eax, dword [rbp + 8]
test eax, eax
jle 0x1400570cd
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 0x1400570d8
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x1400570b0
mov dword [rbp + 8], 0
jmp 0x1400570d4
mov r8, qword [rsp + 0x28]
jne 0x1400570db
xor eax, eax
jmp 0x1400570db
mov dword [rbp + 8], eax
mov dword [rbp + 0x10], 0
movsxd rdx, dword [r8 + 8]
lea ecx, [rdx + 1]
cmp eax, ecx
jle 0x140057124
inc eax
movsxd rdx, eax
mov rcx, rbp
call fcn.140054c60
test eax, eax
je 0x140057668
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 0x14005717c
add rdx, 2
mov rcx, rbp
call fcn.140054c60
test eax, eax
je 0x140057668
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 0x14005717c
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 0x140057160
mov dword [rbp + 8], ebx
movsxd r12, dword [r9 + 8]
mov esi, ebx
sub esi, r12d
mov rdx, qword [r9]
cmp r12, 1
jne 0x140057196
xor r9d, r9d
jmp 0x14005719b
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.140054c60
test eax, eax
je 0x140057668
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.140054c60
test eax, eax
je 0x140057668
mov qword [rsp + 0x30], r12
cmp dword [r15 + 8], 0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r13
je 0x140057221
add r14, 0xfffffffffffffff8
jmp 0x140057229
mov dword [r15 + 0x10], 0
mov r11, qword [rsp + 0x30]
cmp esi, 2
jl 0x1400575e2
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 0x140057271
add rbx, 0xfffffffffffffff8
mov rax, qword [rsp + 0x88]
mov qword [r14], rax
inc esi
add r14, 0xfffffffffffffff8
cmp esi, dword [rsp + 0x4c]
je 0x1400575e2
mov r13, r15
mov qword [rsp + 0x80], 0
mov r8, qword [rbx]
mov rcx, 0xffffffffffffffff
cmp r8, rdi
mov r12, qword [rsp + 0x60]
je 0x140057322
mov r9, qword [rbx - 8]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x88]
lea rdx, [rsp + 0x80]
call fcn.140057b50
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 0x140057315
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 0x140057315
sub rax, r12
sbb rdx, 0
lea r11, [r8 + rdi]
lea r10, [rcx - 1]
cmp r9, rax
mov r15, r8
sbb r15, rdx
jb 0x1400572f0
mov qword [rsp + 0x80], r8
mov r11, qword [rsp + 0x30]
mov qword [rsp + 0x88], rcx
test r11d, r11d
je 0x1400573dc
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 0x1400573cb
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 0x140057350
test rbp, rbp
je 0x140057449
test bpl, 1
jne 0x1400573e0
mov r11, rbp
cmp rbp, 1
jne 0x140057406
jmp 0x14005744c
xor edx, edx
jmp 0x14005744c
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 0x14005744c
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 0x140057410
jmp 0x14005744c
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.1400557b0
mov r11, r12
test rax, rax
mov rbp, qword [rsp + 0x68]
je 0x140057252
dec qword [rsp + 0x88]
test r11d, r11d
je 0x140057252
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
cmp r11d, 4
jae 0x1400574be
mov rdx, r15
mov rcx, r11
xor r8d, r8d
test cl, 1
jne 0x140057563
mov r10, rcx
jmp 0x140057583
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 0x1400574d0
test rcx, rcx
je 0x1400575c9
add rax, rdx
add rdx, r13
add rdx, 0xfffffffffffffff8
mov r11, qword [rsp + 0x30]
test cl, 1
je 0x1400574b6
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 0x1400575d1
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 0x140057590
jmp 0x1400575d1
mov r9, r8
mov r11, qword [rsp + 0x30]
test r9, r9
je 0x140057252
inc qword [rbx]
jmp 0x140057252
mov eax, dword [rbp + 8]
test eax, eax
jle 0x140057614
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 0x140057629
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x1400575f7
mov dword [rbp + 8], 0
jmp 0x140057620
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
jne 0x14005762c
mov dword [rbp + 0x10], 0
jmp 0x14005762c
mov dword [rbp + 8], eax
test rdi, rdi
je 0x140057717
mov rcx, rdi
mov rdx, rbp
mov r8d, dword [rsp + 0x48]
call fcn.140057e40
test eax, eax
je 0x140057668
movsxd rax, dword [rdi + 8]
test rax, rax
je 0x140057717
mov rcx, qword [rdi]
cmp eax, 4
jae 0x1400576b8
xor edx, edx
xor r8d, r8d
jmp 0x1400576ff
xor esi, esi
mov r8, qword [rsp + 0x100]
cmp byte [r8 + 0x28], 0
jne 0x140057692
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.140262cb0
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 0x1400576ca
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r8, xmm0
cmp rdx, rax
je 0x14005770b
or r8, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x1400576ff
test r8, r8
je 0x140057717
mov eax, dword [rsp + 0x44]
mov dword [rdi + 0x10], eax
mov eax, dword [rsi + 8]
test eax, eax
jle 0x140057746
mov rcx, qword [rsi]
mov r8, qword [rsp + 0x100]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x140057761
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x140057729
mov dword [rsi + 8], 0
jmp 0x140057750
mov r8, qword [rsp + 0x100]
jne 0x140057757
mov dword [rsi + 0x10], 0
mov esi, 1
jmp 0x140057672
mov dword [rsi + 8], eax
mov esi, 1
jmp 0x140057672