Function at 0x14005a270
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov dword [rdx], 0
cmp dword [r8 + 0x10], 0
jne 0x14005a3f2
mov r14, r8
mov rsi, rdx
mov qword [rsp + 0xc8], rcx
movsxd rbx, dword [r9 + 8]
mov eax, ebx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x58], r9
mov rax, qword [r9]
movsxd r12, dword [r8 + 8]
mov rcx, qword [r8]
mov r8, r12
sub r8, rbx
mov r9, rbx
cmovb r9, r12
xor edx, edx
test r9, r9
je 0x14005a319
xor r10d, r10d
nop word cs:[rax + rax]
mov r11, qword [rax + r10*8]
mov rdi, qword [rcx + r10*8]
mov r13, rdi
xor r13, r11
mov rbp, rdi
sub rbp, r11
xor rbp, rdi
or rbp, r13
xor r11d, r11d
xor rbp, rdi
setns r11b
sar rbp, 0x3f
or ebp, r11d
test r13, r13
cmovne edx, ebp
inc r10
cmp r9, r10
jne 0x14005a2e0
mov r13, qword [rsp + 0x88]
cmp r12d, r13d
jae 0x14005a345
mov r9, rbx
sub r9, r12
cmp r9, 4
mov rdi, qword [rsp + 0xc8]
jae 0x14005a36b
xor r11d, r11d
mov r8, r12
jmp 0x14005a3d0
cmp ebx, r12d
mov rdi, qword [rsp + 0xc8]
jae 0x14005a4b3
cmp r8, 4
jae 0x14005a42b
xor r11d, r11d
mov r9, rbx
jmp 0x14005a490
mov r10, r9
and r10, 0xfffffffffffffffc
lea r8, [r10 + r12]
lea r11, [rax + r12*8]
add r11, 0x10
pxor xmm0, xmm0
xor ebp, ebp
pxor xmm1, xmm1
nop dword [rax + rax]
movdqu xmm2, xmmword [r11 + rbp*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r11 + rbp*8]
por xmm1, xmm2
add rbp, 4
cmp r10, rbp
jne 0x14005a390
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r11, xmm0
cmp r9, r10
je 0x14005a3dc
nop word cs:[rax + rax]
or r11, qword [rax + r8*8]
inc r8
cmp rbx, r8
jne 0x14005a3d0
test r11, r11
mov r9, qword [rsp + 0x58]
jne 0x14005a4c0
test edx, edx
js 0x14005a4c0
mov dword [rsp + 0x20], 0xae
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, WSAGetLastError
call fcn.1400490c0
mov eax, ebp
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r10, r8
and r10, 0xfffffffffffffffc
lea r9, [r10 + rbx]
lea r11, [rcx + rbx*8]
add r11, 0x10
pxor xmm0, xmm0
xor ebp, ebp
pxor xmm1, xmm1
nop dword [rax + rax]
movdqu xmm2, xmmword [r11 + rbp*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r11 + rbp*8]
por xmm1, xmm2
add rbp, 4
cmp r10, rbp
jne 0x14005a450
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r11, xmm0
cmp r8, r10
je 0x14005a49c
nop word cs:[rax + rax]
or r11, qword [rcx + r9*8]
inc r9
cmp r12, r9
jne 0x14005a490
xor r8d, r8d
xor r9d, r9d
test r11, r11
cmove r8d, edx
setne r9b
or r9d, r8d
mov edx, r9d
mov r9, qword [rsp + 0x58]
test edx, edx
jns 0x14005a3f2
test r12d, r12d
je 0x14005a570
cmp r12d, 4
jae 0x14005a4d6
xor edx, edx
xor r8d, r8d
jmp 0x14005a530
mov rdx, r12
and rdx, 0xfffffffffffffffc
pxor xmm0, xmm0
xor r8d, r8d
pxor xmm1, xmm1
nop dword [rax + rax]
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 0x14005a4f0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r8, xmm0
cmp rdx, r12
je 0x14005a53c
nop word cs:[rax + rax]
or r8, qword [rcx + rdx*8]
inc rdx
cmp r12, rdx
jne 0x14005a530
test r8, r8
je 0x14005a570
test r12d, r12d
jle 0x14005a54f
test byte [rcx], 1
jne 0x14005a63e
test r13d, r13d
jle 0x14005a55d
test byte [rax], 1
jne 0x14005a63e
mov dword [rsi], 1
mov dword [rsp + 0x20], 0xc7
jmp 0x14005a623
cmp dword [r9 + 0x10], 0
jne 0x14005a615
test ebx, ebx
je 0x14005a615
mov rdx, qword [rax]
xor rdx, 1
cmp r13d, 2
jl 0x14005a60c
mov ecx, 1
cmp ebx, 5
jb 0x14005a600
lea r8, [r13 - 1]
mov r9, r8
and r9, 0xfffffffffffffffc
lea rcx, [r9 + 1]
movq xmm1, rdx
pxor xmm0, xmm0
xor edx, edx
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rax + rdx*8 + 8]
por xmm1, xmm2
movdqu xmm2, xmmword [rax + rdx*8 + 0x18]
por xmm0, xmm2
add rdx, 4
cmp r9, rdx
jne 0x14005a5c0
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
cmp r8, r9
je 0x14005a60c
nop word cs:[rax + rax]
or rdx, qword [rax + rcx*8]
inc rcx
cmp r13, rcx
jne 0x14005a600
test rdx, rdx
je 0x14005a6a6
mov dword [rsi], 1
mov dword [rsp + 0x20], 0xb7
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, reloc.WS2_32.dll_WSASetLastError
jmp 0x14005a410
mov rdi, qword [rsp + 0x170]
cmp r12d, r13d
cmovae r12d, r13d
cmp byte [rdi + 0x28], 0
jne 0x14005a6d2
mov rcx, qword [rdi + 0x10]
mov r15, qword [rdi + 0x20]
cmp rcx, qword [rdi + 0x18]
jne 0x14005a6be
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov ebp, 0x20
cmovne rbp, rax
cmp rbp, rcx
jbe 0x14005a6cc
mov rax, rbp
shr rax, 0x3d
jne 0x14005a6cc
lea rdx, [rbp*8]
mov rcx, qword [rdi + 8]
call fcn.140098700
test rax, rax
je 0x14005a6cc
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbp
mov rcx, qword [rdi + 0x10]
jmp 0x14005a6c2
mov dword [rdi + 0x10], 0
mov dword [rdi + 8], 0
mov ebp, 1
jmp 0x14005a415
mov rax, qword [rdi + 8]
mov qword [rax + rcx*8], r15
inc qword [rdi + 0x10]
jmp 0x14005a6d2
mov word [rdi + 0x28], 0x101
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0x100], rsi
mov rcx, rdi
call fcn.140054a90
mov qword [rsp + 0x80], rax
mov rcx, rdi
call fcn.140054a90
mov r13, rax
mov rcx, rdi
call fcn.140054a90
mov r14, rax
mov rcx, rdi
call fcn.140054a90
mov rsi, rax
mov rcx, rdi
call fcn.140054a90
mov r15, rax
mov rcx, rdi
call fcn.140054a90
mov rbp, rax
mov rcx, rdi
call fcn.140054a90
mov rcx, rdi
mov rdi, rax
call fcn.140054a90
mov r8, rbp
mov rdx, qword [rsp + 0x80]
movq xmm0, rdi
movq xmm1, rax
punpcklqdq xmm0, xmm1
movq xmm1, r15
movq xmm2, rbp
punpcklqdq xmm1, xmm2
movq xmm2, r14
movq xmm3, rsi
punpcklqdq xmm2, xmm3
movq xmm3, rdx
movq xmm4, r13
punpcklqdq xmm4, xmm3
pxor xmm3, xmm3
pcmpeqd xmm4, xmm3
pshufd xmm5, xmm4, 0xb1
pand xmm5, xmm4
pcmpeqd xmm2, xmm3
pshufd xmm4, xmm2, 0xb1
pand xmm4, xmm2
packssdw xmm5, xmm4
pcmpeqd xmm1, xmm3
pshufd xmm2, xmm1, 0xb1
pand xmm2, xmm1
pcmpeqd xmm0, xmm3
pshufd xmm1, xmm0, 0xb1
pand xmm1, xmm0
packssdw xmm2, xmm1
packssdw xmm5, xmm2
pmovmskb ecx, xmm5
xor ebp, ebp
test ecx, 0xaaaa
je 0x14005a801
mov rdi, qword [rsp + 0x170]
cmp byte [rdi + 0x28], 0
jne 0x14005a415
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
lea rdx, [rcx - 1]
mov qword [rdi + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [rdi + 0x20], rax
jmp 0x14005a415
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x50], r14
mov rsi, qword [rsp + 0xd8]
cmp rdx, rsi
mov r14, rdx
mov rdi, qword [rsp + 0x170]
je 0x14005a87d
movsxd rdx, dword [rsi + 8]
mov rcx, r14
call fcn.140052a70
test eax, eax
je 0x14005a7d9
movsxd r8, dword [rsi + 8]
test r8, r8
je 0x14005a870
shl r8, 3
mov rcx, qword [r14]
mov rdx, qword [rsi]
call fcn.1402689f0
mov eax, dword [rsi + 8]
jmp 0x14005a872
xor eax, eax
mov dword [r14 + 8], eax
mov eax, dword [rsi + 0x10]
mov dword [r14 + 0x10], eax
mov rcx, r13
mov rdx, qword [rsp + 0x58]
call fcn.140053a10
test rax, rax
je 0x14005a7d9
mov qword [rsp + 0x78], r13
mov edx, 1
mov r13, qword [rsp + 0x50]
mov rcx, r13
call fcn.140052a70
test eax, eax
je 0x14005a7d9
mov dword [r13 + 0x10], 0
mov rax, qword [r13]
mov qword [rax], 1
mov dword [r13 + 8], 1
mov edx, 1
mov rsi, qword [rsp + 0xb0]
mov rcx, rsi
call fcn.140052a70
test eax, eax
je 0x14005a7d9
mov dword [rsi + 0x10], 0
mov rax, qword [rsi]
mov qword [rax], 1
mov dword [rsi + 8], 1
mov rcx, r14
mov rdx, rbx
call fcn.140053cf0
test eax, eax
je 0x14005a7d9
mov rcx, qword [rsp + 0x78]
mov rdx, rbx
call fcn.140053cf0
test eax, eax
je 0x14005a7d9
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.140053cf0
test eax, eax
je 0x14005a7d9
mov rcx, qword [rsp + 0xa8]
mov rdx, rbx
call fcn.140053cf0
test eax, eax
je 0x14005a7d9
movsxd r14, r12d
mov rcx, qword [rsp + 0xa0]
mov rdx, r14
call fcn.140053cf0
test eax, eax
je 0x14005a7d9
mov rcx, rsi
mov rdx, r14
call fcn.140053cf0
test eax, eax
je 0x14005a7d9
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
call fcn.140053cf0
test eax, eax
je 0x14005a7d9
mov qword [rsp + 0x38], r14
mov rcx, qword [rsp + 0xc0]
mov rdx, rbx
call fcn.140053cf0
test eax, eax
je 0x14005a7d9
mov eax, r12d
shl eax, 6
lea ecx, [rbx + r12]
shl ecx, 6
mov dword [rsp + 0x94], ecx
cmp ecx, eax
jae 0x14005a9f7
mov dword [rsp + 0x20], 0xf6
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, 0x66
call fcn.1400490c0
jmp 0x14005a7d1
cmp dword [rsp + 0x94], 0
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0xd8]
je 0x14005b6fd
mov rax, qword [rsp + 0x38]
lea rcx, [rax*8]
mov qword [rsp + 0x60], rcx
lea rcx, [rbx*8]
mov qword [rsp + 0x30], rcx
mov rcx, rbx
and rcx, 0xfffffffffffffffc
mov qword [rsp + 0x68], rcx
mov ecx, ebx
and ecx, 3
mov qword [rsp + 0x98], rcx
mov rcx, rbx
neg rcx
mov qword [rsp + 0xe8], rcx
mov rcx, rax
and rcx, 0xfffffffffffffffc
mov qword [rsp + 0xb8], rcx
neg rax
mov qword [rsp + 0xe0], rax
mov eax, r12d
and eax, 3
mov qword [rsp + 0xd0], rax
xor esi, esi
jmp 0x14005ac2b
mov r8, qword [rdi]
mov rsi, rbp
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
mov r14, qword [rcx]
and r14d, 1
dec r14
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rax, qword [rax]
and eax, 1
dec rax
mov qword [rsp + 0x40], rax
mov rdx, r14
mov r9, rbx
call fcn.14005d2a0
mov rcx, qword [rsi]
mov rax, qword [rcx]
and eax, 1
neg rax
mov rsi, qword [rsp + 0xa0]
mov rdx, qword [rsi]
mov rbp, qword [rdx]
and ebp, 1
neg rbp
or rbp, rax
mov r9, qword [rdi]
mov rax, qword [rsp + 0x58]
mov r8, qword [rax]
and rbp, r14
mov qword [rsp + 0x20], rbx
mov rdx, rbp
call fcn.14005d530
mov qword [rsp + 0x70], rax
mov r9, qword [rdi]
mov r8, qword [r15]
mov rcx, qword [rsi]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r13, rax
mov rdx, rbp
call fcn.14005d530
mov rbp, rax
mov r9, qword [rdi]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rdx, qword [rsp + 0x70]
mov r8, r14
call fcn.14005d7c0
mov r9, qword [rdi]
mov rcx, qword [rsi]
mov qword [rsp + 0x20], r13
mov rdx, rbp
mov r8, r14
call fcn.14005d7c0
mov r8, qword [rdi]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov r13, qword [rsp + 0x40]
mov rdx, r13
mov r9, rbx
call fcn.14005d2a0
mov r10, qword [rsp + 0xa8]
mov rcx, qword [r10]
mov rax, qword [rcx]
and eax, 1
neg rax
mov rsi, qword [rsp + 0xb0]
mov rdx, qword [rsi]
mov rbp, qword [rdx]
and ebp, 1
neg rbp
or rbp, rax
mov r9, qword [rdi]
mov rax, qword [rsp + 0x58]
mov r8, qword [rax]
mov r14, r10
and rbp, r13
mov qword [rsp + 0x20], rbx
mov rdx, rbp
call fcn.14005d530
mov qword [rsp + 0x70], rax
mov r9, qword [rdi]
mov r8, qword [r15]
mov rcx, qword [rsi]
mov r13, qword [rsp + 0x38]
mov qword [rsp + 0x20], r13
mov rdx, rbp
call fcn.14005d530
mov rbp, rax
mov r9, qword [rdi]
mov rcx, qword [r14]
mov qword [rsp + 0x20], rbx
mov rdx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x40]
mov r8, r14
call fcn.14005d7c0
mov r9, qword [rdi]
mov rcx, qword [rsi]
mov qword [rsp + 0x20], r13
mov rdx, rbp
mov r8, r14
call fcn.14005d7c0
mov rsi, qword [rsp + 0xf8]
inc esi
cmp esi, dword [rsp + 0x94]
je 0x14005b6fd
mov rax, qword [rsp + 0x80]
mov r8, qword [rax]
mov rax, qword [r8]
and eax, 1
neg rax
mov r13, qword [rsp + 0x78]
mov rdx, qword [r13]
mov rbp, qword [rdx]
and ebp, 1
neg rbp
and rbp, rax
mov rcx, qword [rdi]
mov r9, rbx
call fcn.140053610
mov r14, rax
neg rax
dec r14
and r14, rbp
mov r8, qword [r13]
mov rcx, qword [rdi]
test ebx, ebx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0xf8], rsi
je 0x14005ad5e
mov rdi, r13
mov r13, rax
cmp dword [rsp + 0x88], 6
jb 0x14005acb9
mov rax, qword [rsp + 0x30]
add rax, rcx
cmp r8, rax
jae 0x14005ad68
mov rax, qword [rsp + 0x30]
add rax, r8
cmp rcx, rax
jae 0x14005ad68
xor eax, eax
mov rdx, rax
not rdx
add rdx, rbx
mov r9, qword [rsp + 0x98]
test r9, r9
je 0x14005acf0
test r14b, 1
lea r10, [r8 + rax*8]
lea r11, [rcx + rax*8]
cmove r11, r10
mov r10, qword [r11]
mov qword [r8 + rax*8], r10
inc rax
dec r9
jne 0x14005acd1
cmp rdx, 3
jb 0x14005adbe
test r14b, 1
lea rdx, [r8 + rax*8]
lea r9, [rcx + rax*8]
cmove r9, rdx
mov rdx, qword [r9]
mov qword [r8 + rax*8], rdx
lea rdx, [r8 + rax*8 + 8]
lea r9, [rcx + rax*8 + 8]
cmove r9, rdx
mov rdx, qword [r9]
mov qword [r8 + rax*8 + 8], rdx
lea rdx, [r8 + rax*8 + 0x10]
lea r9, [rcx + rax*8 + 0x10]
cmove r9, rdx
mov rdx, qword [r9]
mov qword [r8 + rax*8 + 0x10], rdx
lea rdx, [r8 + rax*8 + 0x18]
lea r9, [rcx + rax*8 + 0x18]
cmove r9, rdx
mov rdx, qword [r9]
mov qword [r8 + rax*8 + 0x18], rdx
add rax, 4
cmp rbx, rax
jne 0x14005acfa
jmp 0x14005adbe
mov r13, rax
mov rdi, qword [rsp + 0x48]
jmp 0x14005adc9
xor eax, eax
mov rdi, qword [rsp + 0x68]
test r14b, 1
lea rdx, [r8 + rax*8]
lea r9, [r8 + rax*8 + 0x10]
lea r10, [rcx + rax*8]
lea r11, [rcx + rax*8 + 0x10]
cmove r10, rdx
movdqu xmm0, xmmword [r10]
cmove r11, r9
movdqu xmm1, xmmword [r11]
movdqu xmmword [r8 + rax*8], xmm0
movdqu xmmword [r8 + rax*8 + 0x10], xmm1
add rax, 4
cmp rdi, rax
jne 0x14005ad6f
mov rax, rdi
cmp rdi, rbx
mov rdi, qword [rsp + 0x78]
jne 0x14005acbb
mov r8, qword [rdi]
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi]
mov r14, qword [rsp + 0x80]
mov rdx, qword [r14]
mov r9, rbx
call fcn.140053610
and rbp, r13
mov rcx, qword [rdi]
cmp qword [rsp + 0x88], 0
je 0x14005aec5
mov rax, qword [r14]
cmp ebx, 6
jb 0x14005ae1b
mov rdx, qword [rsp + 0x30]
add rdx, rcx
cmp rax, rdx
jae 0x14005aed1
mov rdx, qword [rsp + 0x30]
add rdx, rax
cmp rcx, rdx
jae 0x14005aed1
xor edx, edx
mov rsi, qword [rsp + 0x50]
mov r8, rdx
not r8
add r8, rbx
test bl, 3
je 0x14005ae57
mov r9, qword [rsp + 0x98]
test bpl, 1
lea r10, [rax + rdx*8]
lea r11, [rcx + rdx*8]
cmove r11, r10
mov r10, qword [r11]
mov qword [rax + rdx*8], r10
inc rdx
dec r9
jne 0x14005ae38
cmp r8, 3
jb 0x14005af25
test bpl, 1
lea r8, [rax + rdx*8]
lea r9, [rcx + rdx*8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8], r8
lea r8, [rax + rdx*8 + 8]
lea r9, [rcx + rdx*8 + 8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 8], r8
lea r8, [rax + rdx*8 + 0x10]
lea r9, [rcx + rdx*8 + 0x10]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x10], r8
lea r8, [rax + rdx*8 + 0x18]
lea r9, [rcx + rdx*8 + 0x18]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x18], r8
add rdx, 4
cmp rbx, rdx
jne 0x14005ae61
jmp 0x14005af25
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x14005af2d
xor edx, edx
mov rsi, qword [rsp + 0x68]
test bpl, 1
lea r8, [rax + rdx*8]
lea r9, [rax + rdx*8 + 0x10]
lea r10, [rcx + rdx*8]
lea r11, [rcx + rdx*8 + 0x10]
cmove r10, r8
movdqu xmm0, xmmword [r10]
cmove r11, r9
movdqu xmm1, xmmword [r11]
movdqu xmmword [rax + rdx*8], xmm0
movdqu xmmword [rax + rdx*8 + 0x10], xmm1
add rdx, 4
cmp rsi, rdx
jne 0x14005aed8
mov rdx, rsi
cmp rsi, rbx
mov rsi, qword [rsp + 0x50]
jne 0x14005ae22
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi]
mov rax, qword [rsp + 0xa8]
mov r8, qword [rax]
mov rdx, qword [rsi]
mov r9, rbx
call fcn.140052b50
mov r14, rax
mov rax, qword [rsp + 0x58]
mov r8, qword [rax]
mov rdx, qword [rdi]
mov r13, qword [rsp + 0xc0]
mov rcx, qword [r13]
mov r9, rbx
call fcn.140053610
mov r10, r14
sub r10, rax
mov rcx, qword [rdi]
mov r11, r10
not r11
test ebx, ebx
mov qword [rsp + 0x70], r10
mov qword [rsp + 0xf0], r11
je 0x14005b02e
mov rax, qword [r13]
cmp dword [rsp + 0x88], 4
jb 0x14005afb9
mov rdx, qword [rsp + 0x30]
add rdx, rax
cmp rcx, rdx
jae 0x14005b03d
mov rdx, qword [rsp + 0x30]
add rdx, rcx
cmp rax, rdx
jae 0x14005b03d
xor r8d, r8d
mov r14, qword [rsp + 0x38]
mov rdx, r8
test bl, 1
je 0x14005afe5
mov rdx, qword [rcx + r8*8]
and rdx, r10
mov r9, qword [rax + r8*8]
and r9, r11
or r9, rdx
mov qword [rcx + r8*8], r9
mov rdx, r8
or rdx, 1
not r8
cmp r8, qword [rsp + 0xe8]
je 0x14005b0ab
mov r8, qword [rcx + rdx*8]
and r8, r10
mov r9, qword [rax + rdx*8]
and r9, r11
or r9, r8
mov qword [rcx + rdx*8], r9
mov r8, qword [rcx + rdx*8 + 8]
and r8, r10
mov r9, qword [rax + rdx*8 + 8]
and r9, r11
or r9, r8
mov qword [rcx + rdx*8 + 8], r9
add rdx, 2
cmp rbx, rdx
jne 0x14005aff6
jmp 0x14005b0ab
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x38]
jmp 0x14005b31d
movq xmm0, r10
pshufd xmm0, xmm0, 0x44
movq xmm1, r11
pshufd xmm1, xmm1, 0x44
xor edx, edx
mov r9, qword [rsp + 0x68]
movdqu xmm2, xmmword [rax + rdx*8]
movdqu xmm3, xmmword [rax + rdx*8 + 0x10]
movdqu xmm4, xmmword [rcx + rdx*8]
movdqu xmm5, xmmword [rcx + rdx*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [rcx + rdx*8], xmm2
movdqu xmmword [rcx + rdx*8 + 0x10], xmm3
add rdx, 4
cmp r9, rdx
jne 0x14005b058
mov r8, r9
cmp r9, rbx
mov r14, qword [rsp + 0x38]
jne 0x14005afc1
mov rax, qword [rsi]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
cmp ebx, 6
jb 0x14005b0dd
mov rdx, qword [rsp + 0x30]
add rdx, rcx
cmp rax, rdx
jae 0x14005b182
mov rdx, qword [rsp + 0x30]
add rdx, rax
cmp rcx, rdx
jae 0x14005b182
xor edx, edx
mov r8, rdx
not r8
add r8, rbx
test bl, 3
je 0x14005b114
mov r9, qword [rsp + 0x98]
test bpl, 1
lea r10, [rax + rdx*8]
lea r11, [rcx + rdx*8]
cmove r11, r10
mov r10, qword [r11]
mov qword [rax + rdx*8], r10
inc rdx
dec r9
jne 0x14005b0f5
cmp r8, 3
jb 0x14005b1d1
test bpl, 1
lea r8, [rax + rdx*8]
lea r9, [rcx + rdx*8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8], r8
lea r8, [rax + rdx*8 + 8]
lea r9, [rcx + rdx*8 + 8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 8], r8
lea r8, [rax + rdx*8 + 0x10]
lea r9, [rcx + rdx*8 + 0x10]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x10], r8
lea r8, [rax + rdx*8 + 0x18]
lea r9, [rcx + rdx*8 + 0x18]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x18], r8
add rdx, 4
cmp rbx, rdx
jne 0x14005b11e
jmp 0x14005b1d1
xor edx, edx
mov rdi, qword [rsp + 0x68]
test bpl, 1
lea r8, [rax + rdx*8]
lea r9, [rax + rdx*8 + 0x10]
lea r10, [rcx + rdx*8]
lea r11, [rcx + rdx*8 + 0x10]
cmove r10, r8
movdqu xmm0, xmmword [r10]
cmove r11, r9
movdqu xmm1, xmmword [r11]
movdqu xmmword [rax + rdx*8], xmm0
movdqu xmmword [rax + rdx*8 + 0x10], xmm1
add rdx, 4
cmp rdi, rdx
jne 0x14005b189
mov rdx, rdi
cmp rdi, rbx
jne 0x14005b0df
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi]
cmp dword [rsp + 0x88], 6
jb 0x14005b210
mov rdx, qword [rsp + 0x30]
add rdx, rcx
cmp rax, rdx
jae 0x14005b2c1
mov rdx, qword [rsp + 0x30]
add rdx, rax
cmp rcx, rdx
jae 0x14005b2c1
xor edx, edx
mov r8, rdx
not r8
add r8, rbx
test bl, 3
je 0x14005b24e
mov r9, qword [rsp + 0x98]
mov r13, qword [rsp + 0x40]
test r13b, 1
lea r10, [rax + rdx*8]
lea r11, [rcx + rdx*8]
cmove r11, r10
mov r10, qword [r11]
mov qword [rax + rdx*8], r10
inc rdx
dec r9
jne 0x14005b22d
jmp 0x14005b253
mov r13, qword [rsp + 0x40]
cmp r8, 3
jb 0x14005b31a
test r13b, 1
lea r8, [rax + rdx*8]
lea r9, [rcx + rdx*8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8], r8
lea r8, [rax + rdx*8 + 8]
lea r9, [rcx + rdx*8 + 8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 8], r8
lea r8, [rax + rdx*8 + 0x10]
lea r9, [rcx + rdx*8 + 0x10]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x10], r8
lea r8, [rax + rdx*8 + 0x18]
lea r9, [rcx + rdx*8 + 0x18]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x18], r8
add rdx, 4
cmp rbx, rdx
jne 0x14005b25d
jmp 0x14005b31a
xor edx, edx
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x40]
test sil, 1
lea r8, [rax + rdx*8]
lea r9, [rax + rdx*8 + 0x10]
lea r10, [rcx + rdx*8]
lea r11, [rcx + rdx*8 + 0x10]
cmove r10, r8
movdqu xmm0, xmmword [r10]
cmove r11, r9
movdqu xmm1, xmmword [r11]
movdqu xmmword [rax + rdx*8], xmm0
movdqu xmmword [rax + rdx*8 + 0x10], xmm1
add rdx, 4
cmp r13, rdx
jne 0x14005b2cd
mov rdx, r13
cmp r13, rbx
mov rsi, qword [rsp + 0x50]
jne 0x14005b212
mov rcx, qword [rdi]
mov rax, qword [rsp + 0xb0]
mov r8, qword [rax]
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax]
mov r9, r14
call fcn.140052b50
mov r8, qword [r15]
mov rdx, qword [rdi]
mov r13, qword [rsp + 0xc0]
mov rcx, qword [r13]
mov r9, r14
call fcn.140053610
mov r8, qword [rdi]
test r12d, r12d
je 0x14005aa8d
mov rax, qword [r13]
cmp r12d, 4
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0xf0]
jb 0x14005b396
mov rcx, qword [rsp + 0x60]
add rcx, rax
cmp r8, rcx
jae 0x14005b40b
mov rcx, qword [rsp + 0x60]
add rcx, r8
cmp rax, rcx
jae 0x14005b40b
xor edx, edx
mov r13, qword [rsp + 0x38]
mov rcx, rdx
test r13b, 1
je 0x14005b3c2
mov rcx, qword [r8 + rdx*8]
and rcx, r10
mov r9, qword [rax + rdx*8]
and r9, r11
or r9, rcx
mov qword [r8 + rdx*8], r9
mov rcx, rdx
or rcx, 1
not rdx
cmp rdx, qword [rsp + 0xe0]
je 0x14005b480
mov rdx, qword [r8 + rcx*8]
and rdx, r10
mov r9, qword [rax + rcx*8]
and r9, r11
or r9, rdx
mov qword [r8 + rcx*8], r9
mov rdx, qword [r8 + rcx*8 + 8]
and rdx, r10
mov r9, qword [rax + rcx*8 + 8]
and r9, r11
or r9, rdx
mov qword [r8 + rcx*8 + 8], r9
add rcx, 2
cmp r13, rcx
jne 0x14005b3d3
jmp 0x14005b480
movq xmm0, r10
pshufd xmm0, xmm0, 0x44
movq xmm1, r11
pshufd xmm1, xmm1, 0x44
xor ecx, ecx
mov r9, qword [rsp + 0xb8]
movdqu xmm2, xmmword [rax + rcx*8]
movdqu xmm3, xmmword [rax + rcx*8 + 0x10]
movdqu xmm4, xmmword [r8 + rcx*8]
movdqu xmm5, xmmword [r8 + rcx*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [r8 + rcx*8], xmm2
movdqu xmmword [r8 + rcx*8 + 0x10], xmm3
add rcx, 4
cmp r9, rcx
jne 0x14005b429
mov rdx, r9
mov r13, qword [rsp + 0x38]
cmp r9, r13
jne 0x14005b39d
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov rcx, qword [rdi]
cmp r12d, 6
jb 0x14005b4b6
mov rdx, qword [rsp + 0x60]
add rdx, rcx
cmp rax, rdx
jae 0x14005b55b
mov rdx, qword [rsp + 0x60]
add rdx, rax
cmp rcx, rdx
jae 0x14005b55b
xor edx, edx
mov r8, rdx
not r8
add r8, r13
mov r9, qword [rsp + 0xd0]
test r9, r9
je 0x14005b4ed
test bpl, 1
lea r10, [rax + rdx*8]
lea r11, [rcx + rdx*8]
cmove r11, r10
mov r10, qword [r11]
mov qword [rax + rdx*8], r10
inc rdx
dec r9
jne 0x14005b4ce
cmp r8, 3
jb 0x14005b5b3
test bpl, 1
lea r8, [rax + rdx*8]
lea r9, [rcx + rdx*8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8], r8
lea r8, [rax + rdx*8 + 8]
lea r9, [rcx + rdx*8 + 8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 8], r8
lea r8, [rax + rdx*8 + 0x10]
lea r9, [rcx + rdx*8 + 0x10]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x10], r8
lea r8, [rax + rdx*8 + 0x18]
lea r9, [rcx + rdx*8 + 0x18]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x18], r8
add rdx, 4
cmp r13, rdx
jne 0x14005b4f7
jmp 0x14005b5b3
mov r14, rsi
xor edx, edx
mov rsi, qword [rsp + 0xb8]
test bpl, 1
lea r8, [rax + rdx*8]
lea r9, [rax + rdx*8 + 0x10]
lea r10, [rcx + rdx*8]
lea r11, [rcx + rdx*8 + 0x10]
cmove r10, r8
movdqu xmm0, xmmword [r10]
cmove r11, r9
movdqu xmm1, xmmword [r11]
movdqu xmmword [rax + rdx*8], xmm0
movdqu xmmword [rax + rdx*8 + 0x10], xmm1
add rdx, 4
cmp rsi, rdx
jne 0x14005b568
mov rdx, rsi
cmp rsi, r13
mov rsi, r14
jne 0x14005b4b8
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
mov rcx, qword [rdi]
mov rbp, rsi
cmp r13d, 6
jb 0x14005b5ec
mov rdx, qword [rsp + 0x60]
add rdx, rcx
cmp rax, rdx
jae 0x14005b6a1
mov rdx, qword [rsp + 0x60]
add rdx, rax
cmp rcx, rdx
jae 0x14005b6a1
xor edx, edx
mov r8, rdx
not r8
add r8, r13
test r13b, 3
je 0x14005b62b
mov r9, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x40]
test sil, 1
lea r10, [rax + rdx*8]
lea r11, [rcx + rdx*8]
cmove r11, r10
mov r10, qword [r11]
mov qword [rax + rdx*8], r10
inc rdx
dec r9
jne 0x14005b60a
jmp 0x14005b630
mov rsi, qword [rsp + 0x40]
cmp r8, 3
jb 0x14005aa87
test sil, 1
lea r8, [rax + rdx*8]
lea r9, [rcx + rdx*8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8], r8
lea r8, [rax + rdx*8 + 8]
lea r9, [rcx + rdx*8 + 8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 8], r8
lea r8, [rax + rdx*8 + 0x10]
lea r9, [rcx + rdx*8 + 0x10]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x10], r8
lea r8, [rax + rdx*8 + 0x18]
lea r9, [rcx + rdx*8 + 0x18]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x18], r8
add rdx, 4
cmp r13, rdx
jne 0x14005b63a
jmp 0x14005aa87
xor edx, edx
mov rsi, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x40]
test r14b, 1
lea r8, [rax + rdx*8]
lea r9, [rax + rdx*8 + 0x10]
lea r10, [rcx + rdx*8]
lea r11, [rcx + rdx*8 + 0x10]
cmove r10, r8
movdqu xmm0, xmmword [r10]
cmove r11, r9
movdqu xmm1, xmmword [r11]
movdqu xmmword [rax + rdx*8], xmm0
movdqu xmmword [rax + rdx*8 + 0x10], xmm1
add rdx, 4
cmp rsi, rdx
jne 0x14005b6b0
mov rdx, rsi
cmp rsi, r13
je 0x14005aa87
jmp 0x14005b5ee
mov rcx, qword [rsp + 0x80]
call fcn.1400546d0
test eax, eax
je 0x14005b72e
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x50]
call fcn.140053a10
xor ebp, ebp
test rax, rax
setne bpl
jmp 0x14005a7d1
mov rax, qword [rsp + 0x100]
mov dword [rax], 1
mov dword [rsp + 0x20], 0x13d
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
xor ebp, ebp
mov ecx, 3
xor edx, edx
mov r8d, reloc.WS2_32.dll_WSASetLastError
call fcn.1400490c0
jmp 0x14005a7d1