Function at 0x1402f1b40
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, 0x38
mov edi, dword [rcx + 0xdd4]
mov ebx, dword [rcx + 0xd58]
mov rax, rcx
mov r10d, dword [rcx + 0x18]
mov rsi, qword [rcx + 0x130]
movsxd r8, dword [rcx + 0x12c]
mov r13, qword [rcx + 0xd70]
movsxd r9, edx
mov dword [rsp + 0x18], edi
mov rdi, qword [rcx + 0xd78]
mov ebp, dword [rcx + 0xda8]
mov dword [rsp + 0x20], ebx
mov ebx, dword [rcx + 0xdac]
mov ecx, dword [rcx + 0x60]
mov qword [rsp + 0x10], rdi
mov edi, edx
sar edi, cl
mov rcx, qword [rax + 0xd90]
mov dword [rsp + 0xc], ebx
movsxd r11, edi
mov dword [rsp + 0x24], edi
mov ebx, edx
and ebx, 1
mov r9d, dword [rcx + r9*4]
mov rcx, qword [rax + 0xd98]
mov edi, dword [rcx + r11*4]
lea r11, [0x14042dec0]
mov ecx, dword [rax + 0x3c]
mov r12, qword [r11 + rbx*8]
sub ecx, 0x27
and ecx, 0xfffffffb
mov qword [rax + 0x9d40], r12
jne 0x1402f1e30
mov qword [rax + 0x9d38], r12
lea ecx, [rdx + 1]
sub r10d, 2
and ecx, 1
cmp edx, r10d
mov rcx, qword [r11 + rcx*8]
mov qword [rax + 0x9d30], rcx
jge 0x1402f1e15
lea rcx, [r8 + r8*8]
xor r14d, r14d
lea rcx, [r8 + rcx*2]
movsxd r8, r9d
mov r10, r8
lea r11, [rsi + rcx*8 - 0x130]
movsxd rcx, dword [r11 + 0x1c]
movsxd rbx, dword [r11 + 0x3c]
sub r10, rcx
mov rcx, qword [r11 + 0x28]
lea rcx, [rcx + r10*8]
movsxd r10, edi
sub r10, rbx
mov rbx, qword [r11 + 0x48]
lea r15, [rbx + r10*8]
mov r10d, dword [rsp + 0x20]
test r10d, r10d
je 0x1402f1c64
movsxd r10, dword [r11 + 0x7c]
sub r8, r10
mov r10, qword [r11 + 0x88]
lea r14, [r10 + r8*8]
test r9d, r9d
mov r10d, dword [rax + 0x14]
js 0x1402f1e50
lea r8d, [rbp + r9]
cmp r8d, r10d
jg 0x1402f1e50
mov r12, r14
mov rbx, rcx
test edi, edi
mov r9d, dword [rax + 0x20]
js 0x1402f1ca0
mov esi, dword [rsp + 0xc]
mov r8, r15
lea ecx, [rsi + rdi]
cmp ecx, r9d
jle 0x1402f1d4c
sub r9d, edi
mov r10d, edi
mov edi, dword [rsp + 0xc]
neg r10d
mov r8, qword [r11 + 0x50]
cmp r9d, edi
cmovg r9d, edi
test r10d, r10d
jle 0x1402f218e
movsxd rcx, r10d
lea r11, [r15 + rcx*8]
xor ecx, ecx
nop word [rax + rax]
mov rsi, qword [r11]
mov qword [r8 + rcx*8], rsi
add rcx, 1
cmp r10d, ecx
jg 0x1402f1cd0
cmp r9d, r10d
jle 0x1402f217e
lea r11d, [r9 - 1]
xor ecx, ecx
sub r11d, r10d
movsxd r10, r10d
shl r10, 3
add r11, 1
add r15, r10
add r10, r8
mov rsi, qword [r15 + rcx*8]
mov qword [r10 + rcx*8], rsi
add rcx, 1
cmp rcx, r11
jne 0x1402f1d03
mov edi, dword [rsp + 0xc]
cmp r9d, edi
jge 0x1402f1d4c
lea r11d, [rdi - 1]
movsxd rsi, r9d
lea rcx, [r8 + rsi*8]
sub r11d, r9d
lea r9, [rsi + r11 + 1]
mov r10, qword [rcx - 8]
lea r9, [r8 + r9*8]
nop dword [rax + rax]
mov qword [rcx], r10
add rcx, 8
cmp rcx, r9
jne 0x1402f1d40
test dword [rsp + 0x18], 0x40000
lea rcx, [rax + 0x9d88]
lea rdi, [rax + 0xad88]
lea r9, [rax + 0xbdb8]
jne 0x1402f1fc1
test ebp, ebp
jle 0x1402f1dbc
lea eax, [rbp - 1]
imul edx, ebp
lea r11, [rax + rax + 2]
mov eax, dword [rsp + 0x20]
movsxd rdx, edx
test eax, eax
jne 0x1402f2135
lea r10, [r13 + rdx*2]
xor eax, eax
mov rdx, qword [rbx + rax*4]
mov qword [rcx + rax*8], rdx
movzx edx, word [r10 + rax]
mov r9d, edx
shl r9d, 0x10
add edx, r9d
mov dword [rcx + rax*8 + 0xc], edx
mov dword [rcx + rax*8 + 8], edx
add rax, 2
cmp rax, r11
jne 0x1402f1d94
mov ecx, dword [rsp + 0xc]
test ecx, ecx
jle 0x1402f1e15
mov ebx, dword [rsp + 0xc]
mov eax, ebx
sub eax, 1
lea r10, [rax + rax + 2]
mov eax, dword [rsp + 0x24]
imul eax, ebx
mov rbx, qword [rsp + 0x10]
cdqe
lea r9, [rbx + rax*2]
xor eax, eax
nop word cs:[rax + rax]
mov rdx, qword [r8 + rax*4]
mov qword [rdi + rax*8], rdx
movzx edx, word [r9 + rax]
mov ecx, edx
shl ecx, 0x10
add edx, ecx
mov dword [rdi + rax*8 + 0xc], edx
mov dword [rdi + rax*8 + 8], edx
add rax, 2
cmp rax, r10
jne 0x1402f1df0
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x14042ded0]
mov rcx, qword [rcx + rbx*8]
mov qword [rax + 0x9d38], rcx
jmp 0x1402f1bf0
sub r10d, r9d
mov r8d, r9d
mov rbx, qword [r11 + 0x30]
neg r8d
cmp r10d, ebp
cmovg r10d, ebp
test r8d, r8d
jle 0x1402f2186
movsxd r9, r8d
lea rsi, [rcx + r9*8]
xor r9d, r9d
nop word [rax + rax]
mov r12, qword [rsi]
mov qword [rbx + r9*8], r12
add r9, 1
cmp r8d, r9d
jg 0x1402f1e80
movsxd r9, r8d
cmp r9d, r10d
jge 0x1402f1edc
lea esi, [r10 - 1]
mov qword [rsp + 0x80], rax
sub esi, r9d
shl r9, 3
lea r12, [rcx + r9]
add rsi, 1
add r9, rbx
xor ecx, ecx
nop dword [rax + rax]
mov rax, qword [r12 + rcx*8]
mov qword [r9 + rcx*8], rax
add rcx, 1
cmp rcx, rsi
jne 0x1402f1ec0
mov rax, qword [rsp + 0x80]
mov r9d, r10d
cmp ebp, r9d
jle 0x1402f1f1c
lea r12d, [rbp - 1]
movsxd rsi, r9d
mov qword [rsp + 0x28], rsi
lea rcx, [rbx + rsi*8]
sub r12d, r9d
mov r9, qword [rsp + 0x28]
mov rsi, qword [rcx - 8]
lea r9, [r9 + r12 + 1]
lea r9, [rbx + r9*8]
nop word cs:[rax + rax]
mov qword [rcx], rsi
add rcx, 8
cmp rcx, r9
jne 0x1402f1f10
xor r12d, r12d
test r14, r14
je 0x1402f1c85
test r8d, r8d
mov r12, qword [r11 + 0x90]
jle 0x1402f2196
movsxd rcx, r8d
lea r9, [r14 + rcx*8]
xor ecx, ecx
mov rsi, qword [r9]
mov qword [r12 + rcx*8], rsi
add rcx, 1
cmp r8d, ecx
jg 0x1402f1f41
cmp r10d, r8d
jle 0x1402f219e
lea r9d, [r10 - 1]
xor ecx, ecx
sub r9d, r8d
movsxd r8, r8d
shl r8, 3
add r9, 1
add r14, r8
add r8, r12
mov rsi, qword [r14 + rcx*8]
mov qword [r8 + rcx*8], rsi
add rcx, 1
cmp rcx, r9
jne 0x1402f1f74
cmp ebp, r10d
jle 0x1402f1c85
lea r9d, [rbp - 1]
movsxd rsi, r10d
lea rcx, [r12 + rsi*8]
sub r9d, r10d
lea r9, [rsi + r9 + 1]
mov r8, qword [rcx - 8]
lea r9, [r12 + r9*8]
nop dword [rax]
mov qword [rcx], r8
add rcx, 8
cmp rcx, r9
jne 0x1402f1fb0
jmp 0x1402f1c85
test ebp, ebp
jle 0x1402f2073
imul edx, ebp
xor r15d, r15d
mov qword [rsp + 0x18], r8
mov r8d, dword [rsp + 0x20]
lea r10, [rax + 0x9d90]
lea r11, [rax + 0xbdc0]
movsxd rdx, edx
lea rsi, [r13 + rdx*2]
lea r13d, [rbp - 1]
shr r13d, 1
add r13, 1
shl r13, 4
cmp ebp, 1
setg r15b
xor r9d, r9d
shl r15, 3
lea r14, [rbx + r15]
add r15, r12
mov rdx, qword [rbx + r9]
xor ecx, ecx
cmp ebp, 1
mov qword [r10 - 8], rdx
mov rdx, qword [r14 + r9]
mov qword [r10], rdx
movsx edx, word [rsi]
jle 0x1402f2033
movsx ecx, word [rsi + 2]
shl ecx, 0x10
add edx, ecx
test r8d, r8d
mov dword [r10 + 0xc], edx
mov dword [r10 + 8], edx
je 0x1402f2059
mov rcx, qword [r12 + r9]
mov qword [r11 - 8], rcx
mov rcx, qword [r15 + r9]
mov dword [r11 + 0xc], edx
mov dword [r11 + 8], edx
mov qword [r11], rcx
add r9, 0x10
add r10, 0x18
add rsi, 4
add r11, 0x18
cmp r9, r13
jne 0x1402f2013
mov r8, qword [rsp + 0x18]
mov edx, dword [rsp + 0xc]
test edx, edx
jle 0x1402f1e15
mov ebx, dword [rsp + 0xc]
mov edx, dword [rsp + 0x24]
cmp ebx, 1
setg cl
imul edx, ebx
cmp ebx, 1
jle 0x1402f2100
mov rbx, qword [rsp + 0x10]
movsxd rdx, edx
add rax, 0xad90
lea r9, [rbx + rdx*2]
mov edx, dword [rsp + 0xc]
sub edx, 1
shr edx, 1
lea rdx, [rdx + rdx*2]
lea r10, [rdi + rdx*8 + 0x20]
nop dword [rax]
mov rdx, qword [r8]
movsx ecx, word [r9]
add rax, 0x18
add r8, 0x10
add r9, 4
mov qword [rax - 0x20], rdx
mov rdx, qword [r8 - 8]
mov qword [rax - 0x18], rdx
movsx edx, word [r9 - 2]
shl edx, 0x10
add edx, ecx
mov dword [rax - 0xc], edx
mov dword [rax - 0x10], edx
cmp r10, rax
jne 0x1402f20c0
jmp 0x1402f1e15
mov rdi, qword [rsp + 0x10]
mov r9, qword [r8]
movsxd rdx, edx
movzx ecx, cl
movsx edx, word [rdi + rdx*2]
mov qword [rax + 0xad88], r9
mov rcx, qword [r8 + rcx*8]
mov dword [rax + 0xad9c], edx
mov qword [rax + 0xad90], rcx
mov dword [rax + 0xad98], edx
jmp 0x1402f1e15
lea rsi, [r13 + rdx*2]
xor eax, eax
nop dword [rax]
mov rdx, qword [rbx + rax*4]
mov qword [rcx + rax*8], rdx
movzx edx, word [rsi + rax]
mov r10d, edx
shl r10d, 0x10
add edx, r10d
mov r10, qword [r12 + rax*4]
mov dword [rcx + rax*8 + 0xc], edx
mov dword [rcx + rax*8 + 8], edx
mov dword [r9 + rax*8 + 0xc], edx
mov dword [r9 + rax*8 + 8], edx
mov qword [r9 + rax*8], r10
add rax, 2
cmp r11, rax
jne 0x1402f2140
jmp 0x1402f1dbc
mov r9d, r10d
jmp 0x1402f1d14
xor r9d, r9d
jmp 0x1402f1e93
xor r10d, r10d
jmp 0x1402f1ce0
xor r8d, r8d
jmp 0x1402f1f51
mov r10d, r8d
jmp 0x1402f1f85