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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx]
add rcx, 0x20
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [rbx + 0x15], 0
jne 0x180033d8f
mov rcx, qword [rbx]
add rcx, 0x20
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [rbx + 0x14], 1
je 0x180033d7c
cmp dword [rbx + 8], 0
jne 0x180033d7c
movsxd rax, dword [rbx + 0xc]
lea rdx, [0x180079470]
mov qword [rsp + 0x30], rdi
lea r9, [0x180079a70]
mov r8d, 2
lea rdi, [0x180079440]
mov dword [rbx + 8], r8d
mov byte [rax + rdi], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx - 8], ecx
jne 0x180033ddf
lea eax, [r8 - 2]
cmp eax, dword [rbx + 0x18]
je 0x180033ddf
mov byte [rdx - 0xc], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 4], ecx
jne 0x180033df3
lea eax, [r8 - 1]
cmp eax, dword [rbx + 0x18]
je 0x180033df3
mov byte [rdx], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x10], ecx
jne 0x180033e05
cmp r8d, dword [rbx + 0x18]
je 0x180033e05
mov byte [rdx + 0xc], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x1c], ecx
jne 0x180033e1a
lea eax, [r8 + 1]
cmp eax, dword [rbx + 0x18]
je 0x180033e1a
mov byte [rdx + 0x18], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x28], ecx
jne 0x180033e2f
lea eax, [r8 + 2]
cmp eax, dword [rbx + 0x18]
je 0x180033e2f
mov byte [rdx + 0x24], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x34], ecx
jne 0x180033e44
lea eax, [r8 + 3]
cmp eax, dword [rbx + 0x18]
je 0x180033e44
mov byte [rdx + 0x30], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x40], ecx
jne 0x180033e59
lea eax, [r8 + 4]
cmp eax, dword [rbx + 0x18]
je 0x180033e59
mov byte [rdx + 0x3c], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x4c], ecx
jne 0x180033e6e
lea eax, [r8 + 5]
cmp eax, dword [rbx + 0x18]
je 0x180033e6e
mov byte [rdx + 0x48], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x58], ecx
jne 0x180033e83
lea eax, [r8 + 6]
cmp eax, dword [rbx + 0x18]
je 0x180033e83
mov byte [rdx + 0x54], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x64], ecx
jne 0x180033e98
lea eax, [r8 + 7]
cmp eax, dword [rbx + 0x18]
je 0x180033e98
mov byte [rdx + 0x60], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x70], ecx
jne 0x180033ead
lea eax, [r8 + 8]
cmp eax, dword [rbx + 0x18]
je 0x180033ead
mov byte [rdx + 0x6c], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x7c], ecx
jne 0x180033ec2
lea eax, [r8 + 9]
cmp eax, dword [rbx + 0x18]
je 0x180033ec2
mov byte [rdx + 0x78], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x88], ecx
jne 0x180033edd
lea eax, [r8 + 0xa]
cmp eax, dword [rbx + 0x18]
je 0x180033edd
mov byte [rdx + 0x84], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x94], ecx
jne 0x180033ef8
lea eax, [r8 + 0xb]
cmp eax, dword [rbx + 0x18]
je 0x180033ef8
mov byte [rdx + 0x90], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0xa0], ecx
jne 0x180033f13
lea eax, [r8 + 0xc]
cmp eax, dword [rbx + 0x18]
je 0x180033f13
mov byte [rdx + 0x9c], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0xac], ecx
jne 0x180033f2e
lea eax, [r8 + 0xd]
cmp eax, dword [rbx + 0x18]
je 0x180033f2e
mov byte [rdx + 0xa8], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0xb8], ecx
jne 0x180033f49
lea eax, [r8 + 0xe]
cmp eax, dword [rbx + 0x18]
je 0x180033f49
mov byte [rdx + 0xb4], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0xc4], ecx
jne 0x180033f64
lea eax, [r8 + 0xf]
cmp eax, dword [rbx + 0x18]
je 0x180033f64
mov byte [rdx + 0xc0], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0xd0], ecx
jne 0x180033f7f
lea eax, [r8 + 0x10]
cmp eax, dword [rbx + 0x18]
je 0x180033f7f
mov byte [rdx + 0xcc], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0xdc], ecx
jne 0x180033f9a
lea eax, [r8 + 0x11]
cmp eax, dword [rbx + 0x18]
je 0x180033f9a
mov byte [rdx + 0xd8], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0xe8], ecx
jne 0x180033fb5
lea eax, [r8 + 0x12]
cmp eax, dword [rbx + 0x18]
je 0x180033fb5
mov byte [rdx + 0xe4], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0xf4], ecx
jne 0x180033fd0
lea eax, [r8 + 0x13]
cmp eax, dword [rbx + 0x18]
je 0x180033fd0
mov byte [rdx + 0xf0], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x100], ecx
jne 0x180033feb
lea eax, [r8 + 0x14]
cmp eax, dword [rbx + 0x18]
je 0x180033feb
mov byte [rdx + 0xfc], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x10c], ecx
jne 0x180034006
lea eax, [r8 + 0x15]
cmp eax, dword [rbx + 0x18]
je 0x180034006
mov byte [rdx + 0x108], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x118], ecx
jne 0x180034021
lea eax, [r8 + 0x16]
cmp eax, dword [rbx + 0x18]
je 0x180034021
mov byte [rdx + 0x114], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x124], ecx
jne 0x18003403c
lea eax, [r8 + 0x17]
cmp eax, dword [rbx + 0x18]
je 0x18003403c
mov byte [rdx + 0x120], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x130], ecx
jne 0x180034057
lea eax, [r8 + 0x18]
cmp eax, dword [rbx + 0x18]
je 0x180034057
mov byte [rdx + 0x12c], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x13c], ecx
jne 0x180034072
lea eax, [r8 + 0x19]
cmp eax, dword [rbx + 0x18]
je 0x180034072
mov byte [rdx + 0x138], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x148], ecx
jne 0x18003408d
lea eax, [r8 + 0x1a]
cmp eax, dword [rbx + 0x18]
je 0x18003408d
mov byte [rdx + 0x144], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x154], ecx
jne 0x1800340a8
lea eax, [r8 + 0x1b]
cmp eax, dword [rbx + 0x18]
je 0x1800340a8
mov byte [rdx + 0x150], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x160], ecx
jne 0x1800340c3
lea eax, [r8 + 0x1c]
cmp eax, dword [rbx + 0x18]
je 0x1800340c3
mov byte [rdx + 0x15c], 1
mov ecx, dword [rbx + 0xc]
cmp dword [rdx + 0x16c], ecx
jne 0x1800340db
lea eax, [r8 + 0x1d]
cmp eax, dword [rbx + 0x18]
je 0x1800340db
mov byte [rdx + 0x168], 1
add r8d, 0x20
add rdx, 0x180
cmp rdx, r9
jl 0x180033dc7
mov rdx, qword [rbx]
xor r10d, r10d
test dword [rdx + 0x234], 0xfffffff8
jbe 0x1800341f7
xor ecx, ecx
movabs r11, 0xbff0000000000000
xor r9d, r9d
cmp dword [rbx + 0x1c], r9d
jle 0x1800341dc
nop
cmp byte [rbx + rcx + 0x838], 0
je 0x1800341bc
mov rax, qword [rbx]
mov r8d, dword [rax + 0x234]
test r8d, r8d
je 0x180034160
mov rdx, qword [rax + 0x228]
test rdx, rdx
je 0x180034160
test rcx, rcx
js 0x180034160
mov eax, r8d
shr rax, 3
cmp rcx, rax
jge 0x180034160
mov rax, qword [rdx + rcx*8]
jmp 0x180034162
xor eax, eax
movsd xmm1, qword [rax + 8]
mov eax, dword [rbx + 0x2c]
test eax, eax
je 0x18003418b
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x18003418b
test rcx, rcx
js 0x18003418b
shr rax, 3
cmp rcx, rax
jge 0x18003418b
mov rax, qword [rdx + rcx*8]
jmp 0x18003418d
xor eax, eax
movsd xmm0, qword [rax + 0x10]
comisd xmm0, xmm1
ja 0x1800341a1
movsd xmm0, qword [rax + 0x18]
minsd xmm0, xmm1
movsd qword [rax + 8], xmm0
movsxd rax, dword [rbx + 0xc]
shl rax, 7
add rax, rcx
movsd qword [rdi + rax*8 + 0x620], xmm1
jmp 0x1800341cf
movsxd rax, dword [rbx + 0xc]
shl rax, 7
add rax, rcx
mov qword [rdi + rax*8 + 0x620], r11
inc r9d
cmp r9d, dword [rbx + 0x1c]
jl 0x180034120
mov rdx, qword [rbx]
inc r10d
inc rcx
mov eax, dword [rdx + 0x234]
shr eax, 3
cmp r10d, eax
jl 0x180034111
lea rcx, [rdx + 0x20]
mov dword [rbx + 8], 0
mov rdi, qword [rsp + 0x30]
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]