Function at 0x6d2ca590
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, 0x9b8
mov rbx, qword [rsp + 0xa28]
mov qword [rsp + 0x20], 0
mov rdi, r8
mov rbp, r9
mov r8d, dword [rbx + 0x44]
mov r9d, dword [rbx + 0x48]
mov rsi, rcx
mov rcx, rdx
mov edx, 0x2000
call fcn.6d1da730
mov ecx, dword [rax + 0x1c]
mov r12, rax
test ecx, ecx
jne 0x6d2ca6bf
lea r14, [rbx + 0x3c]
lea rax, [rsp + 0x8c]
xor r8d, r8d
mov rcx, r12
lea rdx, [rsp + 0x88]
mov qword [rsp + 0x30], rax
mov r9, r14
mov qword [rsp + 0x28], rdx
mov rdx, qword [0x6d4587d0]
mov qword [rsp + 0x20], r14
call qword [rsi + 0x48]
mov rcx, r12
mov r8d, dword [rax + 0x1c]
mov r13, rax
test r8d, r8d
jne 0x6d2cada8
call qword [rsi + 0x30]
test eax, eax
jne 0x6d2cadb8
test byte [r12 + 0x30], 4
je 0x6d2ca6e0
cmp qword [rsp + 0xa20], 0
mov r11d, dword [rbx + 0x40]
mov ecx, dword [rbx + 0x3c]
mov edx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x88]
je 0x6d2ca750
mov r10, qword [rbx + 0x2c0]
mov r9d, 1
mov dword [rsp + 0x38], ecx
mov r8, rdi
mov dword [rsp + 0x30], edx
mov rcx, rsi
mov rdx, r12
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
call qword [rsp + 0xa20]
mov ecx, eax
test eax, eax
jne 0x6d2ca730
and byte [r12 + 0x30], 0xfb
mov rcx, r12
call qword [rsi + 0x38]
mov rcx, r13
call fcn.6d2399a0
mov rax, r12
add rsp, 0x9b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, dword [rbx + 0x48]
lea r15, [rsp + 0x5e0]
xor r8d, r8d
xor edx, edx
mov rcx, r15
mov dword [rsp + 0x20], r9d
mov r9d, dword [rbx + 0x44]
call fcn.6d18ce00
mov ecx, 2
call fcn.6d1d5cd0
mov rcx, r12
mov r9, r15
xor edx, edx
mov r8, rax
call qword [rsi + 0x60]
mov ecx, eax
test eax, eax
jne 0x6d2cae10
or byte [r12 + 0x30], 4
jmp 0x6d2ca640
cmp eax, 0x64
jne 0x6d2cae10
mov r11d, dword [rbx + 0x40]
mov ecx, dword [rbx + 0x3c]
mov edx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x88]
nop
mov dword [rsp + 0x38], ecx
mov r9d, 0xc
mov rcx, rsi
mov r8, rdi
mov dword [rsp + 0x30], edx
mov rdx, r12
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
call rbp
mov ecx, eax
test eax, eax
jne 0x6d2cae10
and byte [r12 + 0x30], 0xfb
mov rcx, qword [rbx + 0x2c0]
cmp qword [rcx + 0x10], 0
je 0x6d2caaf8
lea rbp, [rsp + 0x5e0]
lea r9, [rsp + 0x94]
lea r8, [rsp + 0x90]
mov rdx, rbp
call fcn.6d191840
mov ecx, eax
test eax, eax
jne 0x6d2cade0
lea rdi, [rsp + 0x320]
mov rcx, rdi
call fcn.6d1e57a0
mov r8d, dword [rsp + 0x90]
mov rdx, rbp
mov rcx, rdi
call fcn.6d184dc0
mov rcx, rbp
mov dword [rsp + 0x68], eax
call fcn.6d1bfe30
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jne 0x6d2cade0
lea r8, [rsp + 0x9c]
lea rcx, [rsp + 0x98]
mov r9, r14
xor edx, edx
mov qword [rsp + 0x30], r8
xor r8d, r8d
mov qword [rsp + 0x28], rcx
mov rcx, r12
mov qword [rsp + 0x20], 0
call qword [rsi + 0x48]
mov r11d, dword [rax + 0x1c]
mov r15, rax
test r11d, r11d
jne 0x6d2caf79
mov edx, dword [rsp + 0x94]
mov qword [rsp + 0x48], rdi
mov r8, rax
mov rcx, r12
mov qword [rsp + 0x38], r14
mov ebp, dword [rsp + 0x9c]
mov dword [rsp + 0x40], edx
mov r10d, dword [rbx + 0x40]
mov edx, 3
mov dword [rsp + 0x30], r10d
mov r9d, dword [rbx + 0x3c]
mov dword [rsp + 0x20], ebp
lea rbp, [rsp + 0xa0]
mov dword [rsp + 0x28], r9d
mov r9d, dword [rsp + 0x98]
call qword [rsi + 0x88]
mov rdx, rbp
mov rcx, rdi
mov dword [rsp + 0x68], eax
call fcn.6d1e4cf0
lea r8, [rsp + 0xb0]
mov rcx, rbp
mov rdx, r8
mov qword [rsp + 0x70], r8
call fcn.6d18c020
mov rcx, rdi
call fcn.6d1e5780
mov rcx, r15
call fcn.6d2399a0
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jne 0x6d2cade0
mov rcx, qword [rsp + 0x70]
mov rdx, r14
call fcn.6d1cc3a0
test eax, eax
je 0x6d2ca6b1
mov r14d, dword [rbx + 0x44]
cmp dword [rsp + 0xb8], r14d
jl 0x6d2ca916
mov edi, dword [rbx + 0x48]
cmp dword [rsp + 0xbc], edi
jge 0x6d2ca6b1
lea r15, [rsp + 0xd0]
mov rcx, r15
call fcn.6d18cc30
mov r8d, dword [rbx + 0x40]
mov r11d, dword [rsp + 0xb4]
mov ecx, r8d
cmp r11d, r8d
je 0x6d2ca97f
mov edx, dword [rbx + 0x44]
sub r11d, r8d
mov rcx, r15
lea r8, [rsp + 0xc0]
mov qword [rsp + 0xc0], 0
shl r11d, 8
shl edx, 8
mov dword [rsp + 0xcc], r11d
mov dword [rsp + 0xc8], edx
xor edx, edx
call fcn.6d18c0f0
mov r8d, dword [rbx + 0x40]
mov ecx, dword [rsp + 0xb4]
mov ebp, dword [rbx + 0x3c]
mov eax, dword [rsp + 0xbc]
mov r9d, dword [rsp + 0xb0]
add eax, ecx
mov r10d, ebp
cmp r9d, ebp
je 0x6d2caa00
sub ecx, r8d
sub r9d, ebp
sub eax, r8d
xor edx, edx
shl ecx, 8
shl r9d, 8
lea r8, [rsp + 0xc0]
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0xc4], ecx
shl eax, 8
mov rcx, r15
mov dword [rsp + 0xc8], r9d
mov dword [rsp + 0xcc], eax
call fcn.6d18c0f0
mov ecx, dword [rsp + 0xb4]
mov eax, dword [rsp + 0xbc]
mov ebp, dword [rsp + 0xb0]
mov r10d, dword [rbx + 0x3c]
mov r8d, dword [rbx + 0x40]
add eax, ecx
mov r14d, dword [rbx + 0x44]
add ebp, dword [rsp + 0xb8]
lea edi, [r14 + r10]
cmp ebp, edi
je 0x6d2caa6a
sub ecx, r8d
sub ebp, r10d
sub eax, r8d
shl r14d, 8
shl ecx, 8
shl eax, 8
lea r8, [rsp + 0xc0]
xor edx, edx
mov dword [rsp + 0xc4], ecx
shl ebp, 8
mov rcx, r15
mov dword [rsp + 0xc0], ebp
mov dword [rsp + 0xc8], r14d
mov dword [rsp + 0xcc], eax
call fcn.6d18c0f0
mov r8d, dword [rbx + 0x40]
mov eax, dword [rsp + 0xbc]
add eax, dword [rsp + 0xb4]
mov r11d, dword [rbx + 0x48]
lea edx, [r11 + r8]
cmp edx, eax
je 0x6d2caabc
mov r9d, dword [rbx + 0x44]
sub eax, r8d
shl r11d, 8
xor edx, edx
shl eax, 8
mov rcx, r15
lea r8, [rsp + 0xc0]
mov dword [rsp + 0xc0], 0
shl r9d, 8
mov dword [rsp + 0xc4], eax
mov dword [rsp + 0xc8], r9d
mov dword [rsp + 0xcc], r11d
call fcn.6d18c0f0
mov ecx, 2
call fcn.6d1d5cd0
mov r9, r15
xor edx, edx
mov rcx, r12
mov r8, rax
call qword [rsi + 0x60]
mov rcx, r15
mov dword [rsp + 0x68], eax
call fcn.6d18c990
mov ecx, dword [rsp + 0x68]
cmp ecx, 0x64
jne 0x6d2cadfe
jmp 0x6d2cade5
mov rdi, qword [rcx + 0x18]
test rdi, rdi
mov qword [rsp + 0x68], rdi
je 0x6d2ca6b1
mov ebp, dword [rcx + 0x20]
movq xmm1, r12
movq xmm0, rsi
mov edi, dword [rbx + 0x40]
punpcklqdq xmm0, xmm1
lea rcx, [rsp + 0x5f0]
mov ebx, dword [rbx + 0x3c]
movups xmmword [rsp + 0x5e0], xmm0
call fcn.6d18cc30
mov dword [rsp + 0x614], 1
test ebp, ebp
jle 0x6d2ca6b1
mov rdx, qword [rsp + 0x68]
lea r14d, [rbp - 1]
lea rbp, [rsp + 0x5e0]
shl r14, 4
lea r8, [rdx + r14 + 0x10]
and r14d, 0x10
mov r15, rdx
mov qword [rsp + 0x68], r8
jne 0x6d2cac20
cmp byte [rdx], 0
mov eax, dword [rdx + 4]
mov r15d, dword [rdx + 0xc]
jne 0x6d2cb01a
mov ecx, eax
and ecx, 0xff
je 0x6d2cafe6
mov r8d, eax
mov r11d, r15d
sar r8d, 8
sar r11d, 8
mov r9d, r8d
sub r9d, edi
cmp r8d, r11d
jge 0x6d2cb050
sub r11d, edi
mov r14d, r11d
mov r15d, 0x100
mov dword [rsp + 0x20], 1
sub r15d, ecx
mov rcx, rbp
mov dword [rsp + 0x7c], r9d
movzx r8d, r15w
mov qword [rsp + 0x70], rdx
mov dword [rsp + 0x28], r8d
mov r8d, ebx
call fcn.6d2ce9b0
mov r9d, dword [rsp + 0x7c]
mov rdx, qword [rsp + 0x70]
add r9d, 1
cmp r14d, r9d
jg 0x6d2cb08f
movzx r9d, byte [rdx + 0xc]
test r9d, r9d
jne 0x6d2cb07d
lea r15, [rdx + 0x10]
cmp r15, qword [rsp + 0x68]
je 0x6d2ca6b1
nop dword [rax]
mov ecx, dword [r15 + 4]
cmp byte [r15], 0
mov edx, dword [r15 + 0xc]
mov eax, ecx
jne 0x6d2caea8
and eax, 0xff
jne 0x6d2cad60
mov r14d, dword [r15 + 8]
or r14d, edx
test r14b, r14b
jne 0x6d2cacd8
nop
cmp byte [r15 + 0x10], 0
lea r14, [r15 + 0x10]
mov ecx, dword [r14 + 4]
mov r8d, dword [r14 + 0xc]
jne 0x6d2cae38
mov r10d, ecx
and r10d, 0xff
je 0x6d2cad00
mov r11d, ecx
mov edx, r8d
sar r11d, 8
sar edx, 8
mov r9d, r11d
sub r9d, edi
cmp r11d, edx
jge 0x6d2cad25
sub edx, edi
mov r15d, edx
mov r11d, 0x100
mov r8d, ebx
mov rcx, rbp
mov dword [rsp + 0x70], r9d
sub r11d, r10d
mov dword [rsp + 0x20], 1
movzx edx, r11w
mov dword [rsp + 0x28], edx
mov rdx, r14
call fcn.6d2ce9b0
mov r9d, dword [rsp + 0x70]
add r9d, 1
jmp 0x6d2cae68
mov r8d, ecx
mov r10d, edx
sar r8d, 8
sar r10d, 8
mov r9d, r8d
sub r9d, edi
cmp r10d, r8d
jle 0x6d2cad7d
sub r10d, edi
mov r14d, r10d
jmp 0x6d2caed1
mov r15d, dword [r14 + 8]
or r15d, r8d
test r15b, r15b
je 0x6d2cad46
mov edx, ecx
mov eax, r8d
sar edx, 8
sar eax, 8
mov r9d, edx
sub r9d, edi
cmp eax, edx
jg 0x6d2caf50
sub r8d, ecx
mov dword [rsp + 0x20], 1
mov rdx, r14
movzx ecx, r8w
mov r8d, ebx
mov dword [rsp + 0x28], ecx
mov rcx, rbp
call fcn.6d2ce9b0
lea r15, [r14 + 0x10]
cmp r15, qword [rsp + 0x68]
jne 0x6d2cac20
jmp 0x6d2ca6b1
mov r11d, ecx
mov r8d, edx
sar r11d, 8
sar r8d, 8
mov r9d, r11d
sub r9d, edi
cmp r11d, r8d
jl 0x6d2caf10
sub edx, ecx
mov dword [rsp + 0x20], 1
mov r8d, ebx
movzx ecx, dx
mov rdx, r15
mov dword [rsp + 0x28], ecx
mov rcx, rbp
call fcn.6d2ce9b0
jmp 0x6d2cac50
call fcn.6d2399a0
mov r12, r13
jmp 0x6d2ca6bf
mov rcx, r13
mov dword [rsp + 0x68], eax
call fcn.6d2399a0
mov rcx, r12
call fcn.6d2399a0
mov ecx, dword [rsp + 0x68]
call fcn.6d1da610
mov r12, rax
jmp 0x6d2ca6bf
cmp ecx, 0x64
jne 0x6d2cae10
mov rcx, qword [rbx + 0x2c0]
mov r9d, dword [rbx + 0x40]
mov rdx, r12
mov r8d, dword [rbx + 0x3c]
call fcn.6d1901f0
mov ecx, eax
test ecx, ecx
je 0x6d2ca6b1
nop word cs:[rax + rax]
mov dword [rsp + 0x68], ecx
mov rcx, r12
call qword [rsi + 0x38]
mov esi, dword [rsp + 0x68]
cmp esi, 0x66
jne 0x6d2caf60
mov rcx, r13
call fcn.6d2399a0
jmp 0x6d2ca6bf
mov r10d, ecx
mov eax, r8d
sar r10d, 8
sar eax, 8
mov r9d, r10d
sub r9d, edi
cmp r10d, eax
jge 0x6d2cad25
sub eax, edi
and ecx, 0xff
mov r15d, eax
mov r10d, ecx
jne 0x6d2cac98
cmp r15d, r9d
jg 0x6d2caf90
movzx r9d, byte [r14 + 0xc]
test r9d, r9d
je 0x6d2cad46
mov dword [rsp + 0x28], r9d
mov r8d, ebx
mov r9d, r15d
mov rdx, r14
mov dword [rsp + 0x20], 1
mov rcx, rbp
call fcn.6d2ce9b0
jmp 0x6d2cad46
sar eax, 8
mov r10d, edx
mov r9d, eax
sar r10d, 8
sub r9d, edi
cmp eax, r10d
jge 0x6d2cad7d
sub r10d, edi
and ecx, 0xff
mov r14d, r10d
mov eax, ecx
jne 0x6d2caf16
cmp r14d, r9d
jg 0x6d2cafc0
movzx r9d, byte [r15 + 0xc]
test r9d, r9d
je 0x6d2cac50
mov dword [rsp + 0x28], r9d
mov r8d, ebx
mov r9d, r14d
mov rdx, r15
mov dword [rsp + 0x20], 1
mov rcx, rbp
call fcn.6d2ce9b0
jmp 0x6d2cac50
sub r8d, edi
mov r14d, r8d
mov edx, 0x100
mov r8d, ebx
mov rcx, rbp
mov dword [rsp + 0x70], r9d
sub edx, eax
mov dword [rsp + 0x20], 1
movzx eax, dx
mov rdx, r15
mov dword [rsp + 0x28], eax
call fcn.6d2ce9b0
mov r9d, dword [rsp + 0x70]
add r9d, 1
jmp 0x6d2caed1
sub eax, edi
mov r15d, eax
jmp 0x6d2cae68
mov rcx, r12
call fcn.6d2399a0
mov ecx, dword [rsp + 0x68]
call fcn.6d1da610
mov r12, rax
jmp 0x6d2cae27
mov rcx, rdi
call fcn.6d1e5780
mov ecx, dword [r15 + 0x1c]
jmp 0x6d2caae4
mov r10d, r15d
mov r8d, ebx
mov rdx, r14
mov rcx, rbp
sub r10d, r9d
mov dword [rsp + 0x28], 0x100
mov dword [rsp + 0x20], r10d
call fcn.6d2ce9b0
jmp 0x6d2cae71
mov r11d, r14d
mov r8d, ebx
mov rdx, r15
mov rcx, rbp
sub r11d, r9d
mov dword [rsp + 0x28], 0x100
mov dword [rsp + 0x20], r11d
call fcn.6d2ce9b0
jmp 0x6d2caeda
mov r9d, dword [rdx + 8]
or r9d, r15d
test r9b, r9b
je 0x6d2cac0a
mov r11d, eax
mov r10d, r15d
sar r11d, 8
sar r10d, 8
mov r9d, r11d
sub r9d, edi
cmp r10d, r11d
jle 0x6d2cb050
sub r10d, edi
mov r14d, r10d
jmp 0x6d2cabf3
mov ecx, eax
mov r10d, r15d
sar ecx, 8
sar r10d, 8
mov r9d, ecx
sub r9d, edi
cmp ecx, r10d
jge 0x6d2cb050
sub r10d, edi
and eax, 0xff
mov r14d, r10d
mov ecx, eax
je 0x6d2cabf3
jmp 0x6d2cabb6
sub r15d, eax
mov dword [rsp + 0x20], 1
movzx eax, r15w
mov dword [rsp + 0x28], eax
mov r8d, ebx
mov rcx, rbp
mov qword [rsp + 0x70], rdx
call fcn.6d2ce9b0
mov rdx, qword [rsp + 0x70]
jmp 0x6d2cac0a
mov dword [rsp + 0x28], r9d
mov r9d, r14d
mov dword [rsp + 0x20], 1
jmp 0x6d2cb063
mov r11d, r14d
mov r8d, ebx
mov rcx, rbp
mov qword [rsp + 0x70], rdx
sub r11d, r9d
mov dword [rsp + 0x28], 0x100
mov dword [rsp + 0x20], r11d
call fcn.6d2ce9b0
mov rdx, qword [rsp + 0x70]
jmp 0x6d2cabfc