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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x30
xor r13d, r13d
mov rsi, rdx
mov r15, rcx
test rdx, rdx
jne 0x14018770b
mov ebp, r13d
jmp 0x140187742
movzx ecx, word [rdx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14018772b
cmp byte [rsi + 0x16], 1
jne 0x14018772b
mov rbp, qword [rsi + 8]
jmp 0x140187742
test cl, 1
je 0x140187735
mov rbp, r13
jmp 0x140187742
mov dl, 1
mov rcx, rsi
call fcn.1400e8150
mov rbp, rax
mov eax, 0x14
mov qword [rsp + 0x70], r14
add rax, rsi
mov r10, rsi
mov qword [rsp + 0x28], rax
movzx ecx, word [rax]
test cl, 2
je 0x14018776b
cmp byte [rsi + 0x16], 1
jne 0x14018776b
mov r14d, dword [rsi + 0x10]
jmp 0x140187797
test cl, 0x10
je 0x140187780
bt cx, 0xa
mov r14d, dword [rsi + 0x10]
jae 0x140187797
add r14d, dword [rsi]
jmp 0x140187797
test cl, 1
je 0x14018778a
mov r14d, r13d
jmp 0x140187797
mov dl, 1
mov rcx, rsi
call fcn.1400e8a00
mov r14d, eax
mov dword [rsp + 0x20], r13d
mov r8d, 0xffffffff
mov dword [rsp + 0x78], r8d
mov rdi, r13
mov r12d, r13d
test rbp, rbp
je 0x140187b5e
nop word [rax + rax]
mov rax, qword [r15 + 0x18]
lea edx, [r13 - 0x68f72]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x1401877f1
cmp dword [rcx + 4], edx
jne 0x1401877e8
mov eax, dword [r15 + 0x20]
cmp dword [rcx], eax
je 0x140187813
test edx, edx
js 0x140187813
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1401877d7
mov dword [rsp + 0x20], r13d
test rdi, rdi
je 0x1401878cf
lea ecx, [r12 + 1]
mov byte [rdi + 0x32], 0
mov dword [rdi + 0x4c], ecx
mov rax, rdi
jmp 0x140187b60
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x1401877f1
test rdi, rdi
jne 0x14018789c
cmp dword [rbx + 0x3c], r14d
jne 0x140187862
cmp byte [rbx + 0x37], dil
je 0x140187838
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x140187869
mov rcx, qword [rbx + 0x10]
cmp rcx, rbp
je 0x140187855
movsxd r8, r14d
mov rdx, rbp
call fcn.1405edbb0
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x140187862
mov byte [rbx + 0x32], 0
mov rdi, rbx
mov byte [rbx + 0x36], 0
jmp 0x1401878b0
mov eax, dword [rsp + 0x88]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14018789c
test eax, eax
jne 0x14018789c
cmp dword [rbx + 0x40], r14d
jne 0x14018789c
movsxd r8, r14d
mov rdx, rbp
call fcn.1405edbb0
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x14018789c
mov byte [rbx + 0x32], al
mov rdi, rbx
mov byte [rbx + 0x36], 1
jmp 0x1401878b0
mov eax, dword [rbx + 0x4c]
cmp eax, r8d
jae 0x1401878b0
mov r8d, eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x20], r13d
mov eax, dword [rbx + 0x4c]
cmp eax, r12d
cmovbe eax, r12d
inc r13d
mov r12d, eax
cmp r13d, 4
jl 0x1401877c0
jmp 0x1401877f6
mov rax, qword [rsp + 0x28]
mov edx, 0xc
movzx eax, word [rax]
lea edi, [rdx - 0xb]
test al, 0x12
setne cl
bt ax, dx
setb al
test al, cl
je 0x140187903
lea rax, [fcn.1400bd100]
cmp qword [rsi + 0x30], rax
jne 0x140187903
mov ebx, edi
xor r13d, r13d
jmp 0x140187909
xor r13d, r13d
mov ebx, r13d
lea esi, [r14 + 1]
call fcn.14017c500
test eax, eax
jne 0x140187b2e
mov eax, r13d
test ebx, ebx
cmove eax, esi
movsxd rcx, eax
add rcx, 0x50
call fcn.1400b9850
mov rdi, rax
test rax, rax
je 0x140187b29
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
test ebx, ebx
je 0x140187962
inc qword [rbp - 8]
mov qword [rax + 0x10], rbp
mov byte [rax + 0x34], 1
jmp 0x140187975
lea rcx, [rax + 0x50]
movsxd r8, esi
mov rdx, rbp
mov qword [rax + 0x10], rcx
call fcn.1405ed0c0
mov rbx, qword [rsp + 0x80]
mov rcx, rdi
mov rdx, rbx
mov dword [rdi + 0x38], 1
call fcn.140187480
test eax, eax
je 0x1401879b1
test rbx, rbx
jne 0x1401879a4
mov byte [rdi + 0x32], 1
mov rax, rdi
jmp 0x140187b60
mov rcx, rdi
call fcn.140184ef0
jmp 0x140187b5e
mov esi, dword [rsp + 0x20]
lea eax, [r12 + 1]
mov dword [rdi + 0x4c], eax
add esi, 0xfff9708e
mov dword [rdi + 0x3c], r14d
mov r14, qword [r15 + 0x18]
mov rbx, qword [r14 + 0x128]
test rbx, rbx
je 0x1401879f1
cmp dword [rbx + 4], esi
jne 0x1401879e8
mov eax, dword [r15 + 0x20]
cmp dword [rbx], eax
je 0x140187a05
test esi, esi
js 0x140187a05
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x1401879d7
mov rcx, qword [r14]
test rcx, rcx
je 0x140187a28
mov edx, 0x20
call fcn.1400ba0d0
jmp 0x140187a32
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140187a6e
mov rcx, qword [rbx + 8]
call rax
lea rax, [fcn.140184ef0]
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rax
jmp 0x140187af1
mov ecx, 0x20
call fcn.1400b9850
mov rbx, rax
test rax, rax
je 0x140187a7f
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov eax, dword [r15 + 0x20]
mov dword [rbx], eax
mov dword [rbx + 4], esi
mov rax, qword [r14 + 0x128]
mov qword [rbx + 0x18], rax
mov qword [r14 + 0x128], rbx
cmp dword [r15 + 0x24], 0
jne 0x140187a6e
mov dword [r15 + 0x24], 0xffffffff
lea rax, [fcn.140184ef0]
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rax
jmp 0x140187af1
mov eax, dword [rdi + 0x38]
cmp eax, 1
jbe 0x140187a8e
dec eax
mov dword [rdi + 0x38], eax
jmp 0x140187af1
mov rcx, rdi
call fcn.140184d50
cmp dword [0x14066e500], 0
je 0x140187ae8
mov rcx, qword [0x140a826d8]
test rcx, rcx
je 0x140187ab1
call qword [0x14066e580]
mov rcx, rdi
call qword [0x14066e538]
dec qword [0x140a824f8]
movsxd rcx, eax
sub qword [0x140a824b0], rcx
mov rcx, rdi
call qword [0x14066e528]
mov rcx, qword [0x140a826d8]
test rcx, rcx
je 0x140187af1
call qword [0x14066e590]
jmp 0x140187af1
mov rcx, rdi
call qword [0x14066e528]
mov rax, qword [r15 + 0x18]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x140187b24
cmp dword [rcx + 4], esi
jne 0x140187b12
mov eax, dword [r15 + 0x20]
cmp dword [rcx], eax
je 0x140187b20
test esi, esi
js 0x140187b20
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140187b01
mov rax, r13
jmp 0x140187b60
mov r13, qword [rcx + 8]
mov rax, r13
jmp 0x140187b60
mov edi, 1
mov rax, qword [r15]
mov ecx, 0x9000
test word [rax + 0x14], cx
je 0x140187b46
mov rcx, rax
call fcn.1400e7150
jmp 0x140187b4a
mov word [rax + 0x14], di
mov rcx, qword [r15]
mov dword [r15 + 0x24], 7
mov rcx, qword [rcx + 0x18]
call fcn.1400ba580
xor eax, eax
mov r14, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret