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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x18
mov esi, dword [rsp + 0x98]
mov rbx, qword [rsp + 0xa8]
mov r11d, dword [rsp + 0xa0]
cmp esi, 3
mov r14, qword [rbx]
mov rbx, qword [rsp + 0xb0]
mov r15d, edx
sete dl
cmp esi, 6
mov dword [rsp + 0x70], r8d
sete al
mov dword [rsp + 0x78], r9d
mov r13, qword [rbx]
or dl, al
mov byte [rsp + 0xb], dl
je 0x4a23a0
mov rbx, r14
mov rax, r13
mov ebp, 1
mov edi, dword [rsp + 0x90]
and edi, 0x1f
mov dword [rsp + 4], edi
mov edi, dword [rsp + 0x90]
and edi, 0x20
mov dword [rsp + 0xc], edi
test rbx, rbx
je 0x4a21f5
test rax, rax
je 0x4a21f5
mov dword [rsp + 0x68], r15d
pxor xmm0, xmm0
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
test ebp, ebp
mov r10, qword [rax]
mov r9, rdx
mov rdi, rdx
mov r12, r8
cmovne r9, r8
test r11d, r11d
js 0x4a2220
cmp dword [r10 + 0x44], r11d
jne 0x4a21e0
cmp esi, 1
je 0x4a2300
cmp esi, 4
je 0x4a2350
cmp esi, 3
je 0x4a23f0
cmp byte [rsp + 0xb], 0
jne 0x4a2440
cmp esi, 2
je 0x4a23b0
nop dword [rax + rax]
cmp rax, rbx
mov rax, r9
sete r8b
test r9, r9
sete dl
or r8b, dl
je 0x4a2184
mov rax, qword [rsp + 0xa8]
mov qword [rax], r14
mov rax, qword [rsp + 0xb0]
mov qword [rax], r13
add rsp, 0x18
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test ecx, ecx
je 0x4a222a
cmp dword [r10 + 0x18], ecx
jne 0x4a21e0
mov r15d, dword [rsp + 0x68]
test r15d, r15d
je 0x4a223f
mov r15d, dword [rsp + 0x68]
test dword [r10 + 0x1c], r15d
je 0x4a21e0
mov r15d, dword [rsp + 0x70]
test r15d, r15d
je 0x4a2254
mov r15d, dword [r10 + 0x20]
test dword [rsp + 0x70], r15d
je 0x4a21e0
mov r15d, dword [rsp + 0x78]
test r15d, r15d
je 0x4a226d
mov r15d, dword [r10 + 0x24]
test dword [rsp + 0x78], r15d
je 0x4a21e0
mov r15d, dword [rsp + 0x80]
test r15d, r15d
je 0x4a228c
mov r15d, dword [r10 + 0x28]
test dword [rsp + 0x80], r15d
je 0x4a21e0
mov r15d, dword [rsp + 0x88]
test r15d, r15d
je 0x4a22ab
mov r15d, dword [rsp + 0x88]
cmp dword [r10 + 0x2c], r15d
jne 0x4a21e0
mov r15d, dword [rsp + 4]
test r15d, r15d
je 0x4a22cb
mov r15d, dword [rsp + 0x90]
and r15d, dword [r10 + 0x3c]
and r15d, 0x1f
je 0x4a21e0
mov r15d, dword [rsp + 0xc]
test r15d, r15d
je 0x4a21a9
mov r15d, dword [rsp + 0x90]
and r15d, dword [r10 + 0x3c]
mov r10d, r15d
and r10d, 0x20
je 0x4a21e0
cmp esi, 1
jne 0x4a21b2
nop dword [rax + rax]
mov r15d, dword [rax + 8]
test r15d, r15d
jne 0x4a21e0
cmp rax, r13
je 0x4a2342
cmp rax, r14
cmove r14, rdx
test r8, r8
je 0x4a2326
mov qword [r8 + 0x10], rdx
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x4a232f
mov qword [rdx + 0x18], r8
mov qword [r13 + 0x10], rax
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r13
mov r13, rax
mov dword [rax + 8], 1
jmp 0x4a21e0
mov r12d, dword [rax + 8]
test r12d, r12d
je 0x4a21e0
cmp rax, r13
je 0x4a21e0
cmp rax, r14
cmove r14, rdx
test r8, r8
je 0x4a237a
mov qword [r8 + 0x10], rdx
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x4a2383
mov qword [rdi + 0x18], r8
mov qword [r13 + 0x10], rax
mov qword [rax + 0x18], r13
mov r13, rax
mov qword [rax + 0x10], 0
jmp 0x4a21e0
mov rbx, r13
mov rax, r14
xor ebp, ebp
jmp 0x4a2155
cmp rax, r14
je 0x4a248c
mov qword [r8 + 0x10], rdx
mov rdi, qword [rax + 0x10]
cmp rax, r13
mov dword [rax + 8], 0
cmove r13, r8
test rdi, rdi
je 0x4a23dc
mov qword [rdi + 0x18], r8
mov r12, qword [rax + 0x18]
test r12, r12
je 0x4a23e6
mov qword [r12 + 0x10], rdi
movups xmmword [rax + 0x10], xmm0
jmp 0x4a21e0
mov edi, dword [rax + 8]
test edi, edi
je 0x4a21e0
cmp rax, r14
je 0x4a2430
cmp rax, r13
cmove r13, r8
test rdx, rdx
je 0x4a2414
mov qword [rdx + 0x18], r8
mov r8, qword [rax + 0x18]
test r8, r8
je 0x4a241d
mov qword [r8 + 0x10], rdx
mov qword [r14 + 0x18], rax
mov qword [rax + 0x18], 0
mov qword [rax + 0x10], r14
mov r14, rax
mov dword [rax + 8], 0
jmp 0x4a21e0
mov r10d, dword [rax + 8]
test r10d, r10d
je 0x4a21e0
cmp rax, r14
je 0x4a21e0
cmp rax, r13
cmove r13, r8
test rdx, rdx
je 0x4a246a
mov qword [rdx + 0x18], r8
mov r12, qword [rax + 0x18]
test r12, r12
je 0x4a2474
mov qword [r12 + 0x10], rdx
mov qword [r14 + 0x18], rax
mov qword [rax + 0x10], r14
mov r14, rax
mov qword [rax + 0x18], 0
jmp 0x4a21e0
mov r14, rdx
jmp 0x4a23c1