Function at 0x1800369e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0xa0
mov rax, qword [0x1801772b8]
xor rax, rsp
mov qword [rsp + 0x88], rax
cmp dword [rdx + 0x10], 0
mov rbx, r9
mov r14d, dword [rdx + 8]
mov rsi, rdx
mov rbp, qword [rdx]
mov rdi, rcx
mov qword [rsp + 0x20], rcx
jne 0x180036de8
lea rdx, [0x180100f80]
mov rcx, rsi
call sym.version.dll_BN_ucmp
test eax, eax
jns 0x180036de8
mov rdx, rsi
lea rcx, [0x180100f08]
call sym.version.dll_BN_ucmp
test eax, eax
jne 0x180036a5d
xor edx, edx
mov rcx, rdi
call sym.version.dll_BN_set_word
mov eax, 1
jmp 0x180036dfd
jle 0x180036a8b
cmp rdi, rsi
jne 0x180036a70
mov esi, 1
mov eax, esi
jmp 0x180036dfd
mov rdx, rsi
mov rcx, rdi
call sym.version.dll_BN_copy
xor esi, esi
test rax, rax
setne sil
mov eax, esi
jmp 0x180036dfd
mov ebx, recv
cmp rdi, rsi
je 0x180036ae2
cmp dword [rdi + 0xc], ebx
jl 0x180036a9f
mov rax, rdi
jmp 0x180036aa9
mov edx, ebx
mov rcx, rdi
call fcn.180033d90
test rax, rax
je 0x180036dfd
mov rdi, qword [rdi]
mov r8, rbp
mov rcx, rdi
sub r8, rdi
mov rdx, rbx
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r8 + rcx]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x180036ad0
jmp 0x180036ae5
mov rdi, rbp
add r14d, 0xfffffff4
mov qword [rsp + 0xe0], r12
xor esi, esi
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x90], r15
movsxd r8, r14d
test r14d, r14d
jle 0x180036b25
lea rdx, [rbp + 0x30]
shl r8, 2
lea rcx, [rsp + 0x28]
call fcn.1800d7020
mov esi, r14d
cmp r14d, ebx
jge 0x180036b43
mov eax, ebx
lea rcx, [rsp + 0x28]
sub eax, esi
xor edx, edx
movsxd r8, eax
movsxd rax, esi
shl r8, 2
lea rcx, [rcx + rax*4]
call fcn.1800d7430
mov r9d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x54]
mov r12d, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x48]
mov r10d, dword [rsp + 0x2c]
mov r11d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x4c]
mov eax, dword [rdi]
mov r8d, r15d
mov r14d, dword [rsp + 0x34]
add rax, r9
mov ecx, dword [rdi + 4]
add rax, rbp
mov edx, dword [rdi + 8]
sub r8, r13
mov esi, dword [rsp + 0x38]
add rax, r8
mov ebx, dword [rsp + 0x3c]
mov dword [rdi], eax
sar rax, 0x20
sub rax, r9
sub rax, rbp
add rax, r10
add rcx, rax
add rcx, r12
add rcx, r13
mov dword [rdi + 4], ecx
sar rcx, 0x20
sub rcx, r10
sub rcx, r15
lea rax, [r11 + rcx]
mov ecx, dword [rdi + 0xc]
add rdx, rax
add rdx, r13
mov dword [rdi + 8], edx
sar rdx, 0x20
sub rdx, r11
sub rdx, r12
lea rax, [r14 + rdx]
mov edx, dword [rdi + 0x18]
add rcx, rax
add rcx, r9
add rcx, rbp
add rcx, r8
mov dword [rdi + 0xc], ecx
sar rcx, 0x20
lea rax, [rcx + r8*2]
mov ecx, dword [rdi + 0x10]
mov r8d, dword [rsp + 0x44]
sub rax, r14
add rax, rsi
add rcx, rax
add rcx, r10
add rcx, r12
add rcx, r9
mov r9d, dword [rsp + 0x40]
add rcx, rbp
mov dword [rdi + 0x10], ecx
sar rcx, 0x20
lea rax, [rcx + r12*2]
mov ecx, dword [rdi + 0x14]
sub rax, rsi
add rax, r11
add rcx, rax
add rcx, r10
add rcx, r15
add rcx, r13
add rcx, rbx
mov dword [rdi + 0x14], ecx
sar rcx, 0x20
lea rax, [rcx + r13*2]
sub rax, rbx
add rax, r14
add rdx, rax
mov eax, dword [rdi + 0x1c]
add rdx, r11
add rdx, r12
add rdx, r9
mov dword [rdi + 0x18], edx
sar rdx, 0x20
add rdx, rax
mov eax, dword [rdi + 0x20]
sub rdx, r9
mov ecx, dword [rdi + 0x24]
add rdx, rsi
add rdx, r14
lea r14, [0x180100cb0]
add rdx, r13
add rdx, r8
mov dword [rdi + 0x1c], edx
sar rdx, 0x20
add rdx, rax
sub rdx, r8
add rdx, rsi
mov esi, 1
add rdx, rbp
add rdx, rbx
mov dword [rdi + 0x20], edx
sar rdx, 0x20
sub rdx, rbp
lea rax, [r15 + rdx]
mov edx, dword [rdi + 0x28]
add rcx, rax
add rcx, r9
add rcx, rbx
lea rbx, [fcn.18002c5e0]
mov dword [rdi + 0x24], ecx
sar rcx, 0x20
sub rcx, r15
mov r15, qword [rsp + 0x90]
lea rax, [r12 + rcx]
mov ecx, dword [rdi + 0x2c]
add rdx, rax
add rdx, r8
add rdx, r9
mov dword [rdi + 0x28], edx
sar rdx, 0x20
sub rdx, r12
mov r12, qword [rsp + 0xe0]
lea rax, [rdx + rbp]
add rcx, rax
add rcx, r13
mov r13, qword [rsp + 0x98]
add rcx, r8
mov dword [rdi + 0x2c], ecx
sar rcx, 0x20
test ecx, ecx
jle 0x180036d25
lea eax, [rcx - 1]
mov rdx, rdi
movsxd rcx, eax
lea r9d, [rsi + 0xb]
lea r8, [rcx + rcx*2]
mov rcx, rdi
shl r8, 4
add r8, r14
call fcn.18002c5e0
mov ebp, eax
jmp 0x180036d6e
jns 0x180036d6c
not ecx
mov r9d, recv
movsxd rax, ecx
mov rdx, rdi
mov rcx, rdi
lea r8, [rax + rax*2]
shl r8, 4
add r8, r14
call fcn.18002abc0
movsxd rbp, eax
lea rdx, [fcn.18002abc0]
mov rcx, rbp
neg rcx
mov rax, rcx
and rcx, rbx
not rax
and rax, rdx
mov rbx, rax
or rbx, rcx
jmp 0x180036d6e
mov ebp, esi
mov r9d, recv
lea rcx, [rsp + 0x58]
mov r8, r14
mov rdx, rdi
call rbx
mov ecx, eax
neg rcx
movsxd rax, ebp
neg rax
and rcx, rax
lea rax, [rsp + 0x58]
mov rdx, rcx
and rcx, rdi
not rdx
and rdx, rax
or rdx, rcx
mov ecx, recv
mov r8d, ecx
sub rdx, rdi
nop
mov eax, dword [rdx + rdi]
mov dword [rdi], eax
lea rdi, [rdi + 4]
sub r8, rsi
jne 0x180036db0
mov r8, qword [rsp + 0x20]
mov rdx, qword [r8]
add rdx, 0x2c
mov dword [r8 + 8], ecx
nop
mov eax, dword [rdx]
lea rdx, [rdx - 4]
test eax, eax
jne 0x180036de0
dec ecx
test ecx, ecx
jg 0x180036dd0
mov dword [r8 + 8], ecx
mov eax, esi
jmp 0x180036dfd
mov r9, rbx
lea r8, [0x180100f08]
mov rdx, rsi
mov rcx, rdi
call sym.version.dll_BN_nnmod
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1800d61c0
add rsp, 0xa0
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret