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

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x30
mov eax, dword [0x140259d80]
mov ebp, 1
mov r12d, edx
mov rdi, rcx
mov ecx, dword [rsp + 0x88]
mov esi, r9d
mov ebx, r8d
mov r15d, ebp
lea edx, [rbp + 1]
cmp eax, ebp
je 0x1400ce8c3
nop dword [rax]
xor eax, eax
lock cmpxchg dword [0x140259d80], edx
test eax, eax
je 0x1400ce87f
cmp eax, ebp
je 0x1400ce8bc
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
mov edx, 2
jmp 0x1400ce860
xor ecx, ecx
mov eax, ebp
cpuid
mov dword [rsp + 0x20], eax
mov eax, ecx
and eax, 0x100000
mov dword [rsp + 0x28], ecx
mov dword [0x1401fef18], eax
and ecx, 2
mov dword [rsp + 0x24], ebx
mov eax, ebp
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0x2c], edx
mov edx, 2
mov dword [0x1401fef14], ecx
xchg dword [0x140259d80], eax
mov ecx, dword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400ceb50
cmp byte [rax], 0x31
jne 0x1400ceb50
cmp dword [rsp + 0x98], 0x58
jne 0x1400ceb50
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r14
test rdi, rdi
je 0x1400ceb49
xor r8d, r8d
mov qword [rdi + 0x20], r8
cmp qword [rdi + 0x30], r8
jne 0x1400ce91a
lea rax, [0x1400d3510]
mov qword [rdi + 0x40], r8
mov qword [rdi + 0x30], rax
cmp qword [rdi + 0x38], r8
jne 0x1400ce92b
lea rax, [0x1400d3520]
mov qword [rdi + 0x38], rax
cmp r12d, 0xffffffff
mov r14d, 6
cmovne r14d, r12d
test esi, esi
jns 0x1400ce944
mov r15d, r8d
neg esi
jmp 0x1400ce94f
cmp esi, 0xf
jle 0x1400ce94f
mov r15d, edx
sub esi, 0x10
mov r13d, dword [rsp + 0x80]
lea eax, [r13 - 1]
cmp eax, 8
ja 0x1400ceb49
cmp ebx, 8
jne 0x1400ceb49
lea eax, [rsi - 8]
cmp eax, 7
ja 0x1400ceb49
cmp r14d, 9
ja 0x1400ceb49
cmp ecx, 4
ja 0x1400ceb49
cmp esi, ebx
jne 0x1400ce99c
cmp r15d, ebp
jne 0x1400ceb49
lea esi, [rbx + 1]
mov rcx, qword [rdi + 0x40]
mov r8d, 0x1780
mov edx, ebp
call qword [rdi + 0x30]
mov rbx, rax
test rax, rax
je 0x1400ceb42
mov qword [rdi + 0x28], rax
mov ecx, esi
mov dword [rax + 0x2c], r15d
mov r8d, ebp
shl r8d, cl
xor r15d, r15d
cmp dword [0x1401fef18], r15d
mov qword [rax], rdi
mov dword [rax + 8], 0x2a
mov qword [rax + 0x30], r15
lea ecx, [r15 + 0xf]
mov dword [rax + 0xa4], esi
mov dword [rax + 0xa0], r8d
lea eax, [r8 - 1]
mov dword [rbx + 0xa8], eax
jne 0x1400cea00
lea ecx, [r13 + 7]
mov dword [rbx + 0xd8], ecx
mov eax, ebp
shl eax, cl
add ecx, 2
mov dword [rbx + 0xd4], eax
dec eax
mov dword [rbx + 0xdc], eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
mov dword [rbx + 0xe0], edx
lea edx, [r8 + 8]
mov rcx, qword [rdi + 0x40]
mov r8d, 2
call qword [rdi + 0x30]
mov edx, dword [rbx + 0xa0]
mov r8d, 2
mov qword [rbx + 0xb0], rax
mov rcx, qword [rdi + 0x40]
call qword [rdi + 0x30]
mov edx, dword [rbx + 0xd4]
mov r8d, 2
mov qword [rbx + 0xc0], rax
mov rcx, qword [rdi + 0x40]
call qword [rdi + 0x30]
lea ecx, [r13 + 6]
mov dword [rbx + 0x1778], r15d
shl ebp, cl
mov r8d, 4
mov dword [rbx + 0x1750], ebp
mov edx, ebp
mov qword [rbx + 0xc8], rax
mov rcx, qword [rdi + 0x40]
call qword [rdi + 0x30]
mov rdx, rax
mov qword [rbx + 0x10], rax
mov eax, dword [rbx + 0x1750]
lea ecx, [rax*4]
mov dword [rbx + 0x18], ecx
cmp qword [rbx + 0xb0], r15
je 0x1400ceb28
cmp qword [rbx + 0xc0], r15
je 0x1400ceb28
cmp qword [rbx + 0xc8], r15
je 0x1400ceb28
test rdx, rdx
je 0x1400ceb28
mov ecx, eax
mov dword [rbx + 0x10c], r14d
shr rax, 1
mov byte [rbx + 0x3c], 8
lea rax, [rdx + rax*2]
mov qword [rbx + 0x1758], rax
lea rax, [rdx + rcx*2]
add rcx, rax
mov eax, dword [rsp + 0x88]
mov qword [rbx + 0x1748], rcx
mov rcx, rdi
mov dword [rbx + 0x110], eax
call sym.winvnc.exe_deflateReset
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [str.insufficient_memory]
mov rcx, rdi
mov dword [rbx + 8], 0x29a
mov qword [rdi + 0x20], rax
call sym.winvnc.exe_deflateEnd
mov eax, 0xfffffffc
jmp 0x1400ceb0d
mov eax, 0xfffffffe
jmp 0x1400ceb0d
mov rbx, qword [rsp + 0x78]
mov eax, 0xfffffffa
add rsp, 0x30
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret