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

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbp
push rbx
sub rsp, 0xc8
xorps xmm4, xmm4
movaps xmmword [rsp + 0x40], xmm4
movaps xmmword [rsp + 0x50], xmm4
movabs rax, 0xffffffffffffffa0
movaps xmmword [rsp + rax + 0xc0], xmm4
movaps xmmword [rsp + rax + 0xd0], xmm4
movaps xmmword [rsp + rax + 0xe0], xmm4
add rax, 0x30
jne 0x1403bb8aa
mov rbx, rcx
mov rbp, rdx
mov r14d, r8d
mov rsi, r9
mov r8, qword [rbp]
test r8, r8
je 0x1403bbeee
mov r15d, dword [rbp + 0x10]
mov edi, dword [rbp + 0x14]
xor r13d, r13d
cmp r8, qword [rbp + 8]
setne r13b
mov edx, r15d
or edx, edi
jl 0x1403bbffc
mov rax, r8
lea rdx, [0x1406c61e8]
cmp qword [rax], rdx
jne 0x1403bbae6
mov r12, qword [rax + 0x18]
mov edx, dword [rax + 0x20]
mov eax, dword [rax + 0x24]
test r13d, r13d
jne 0x1403bbefe
sub edi, r15d
mov ecx, r15d
mov r8d, edi
add rcx, r8
cmp rcx, rax
ja 0x1403bc014
add edx, r15d
mov qword [rsp + 0xb0], r12
mov dword [rsp + 0xb8], edx
mov dword [rsp + 0xbc], edi
mov rcx, qword [rsp + 0xb0]
mov edi, dword [rsp + 0xb8]
mov r15d, dword [rsp + 0xbc]
xor r13d, r13d
xor r12d, r12d
test rcx, rcx
je 0x1403bb9a8
mov rdx, qword [rcx]
cmp dword [rdx], 0
jge 0x1403bbd6a
lea r13, [rcx + 0x10]
mov r12d, dword [rcx + 8]
and edi, 0x7fffffff
mov eax, edi
mov ecx, r15d
add rcx, rax
mov edx, r12d
cmp rcx, rdx
ja 0x1403bbe0c
add r13, rax
mov r12d, r15d
mov rax, r13
mov qword [rbx + 0x30], rax
mov dword [rbx + 0x38], r12d
mov byte [rbx + 0x24], r14b
mov byte [rbx + 0x25], 1
mov rax, qword [rsi]
mov qword [rbx], rax
mov rax, qword [rsi + 8]
mov qword [rbx + 8], rax
movzx eax, byte [rsi + 0x10]
mov byte [rbx + 0x26], al
movzx eax, byte [rsi + 0x11]
mov byte [rbx + 0x27], al
movzx eax, byte [rsi + 0x12]
mov byte [rbx + 0x2e], al
movzx eax, byte [rsi + 0x13]
mov byte [rbx + 0x2c], al
movzx eax, byte [rsi + 0x14]
mov byte [rbx + 0x28], al
movzx eax, byte [rsi + 0x15]
mov byte [rbx + 0x29], al
mov rax, qword [rsi + 0x18]
mov qword [rbx + 0x40], rax
cmp dword [rbx + 0x40], 0
jne 0x1403bba08
mov dword [rbx + 0x40], 0x40
add rsi, 0x20
lea rdi, [rbx + 0x48]
call fcn.14000ebf0
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
xor eax, eax
mov dword [rbx + 0x20], eax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x98], rax
mov qword [rbx + 0xa0], rax
lea rdi, [rbx + 0x80]
mov rsi, rbp
call fcn.14000ebf0
call fcn.14000ebf0
movsq qword [rdi], qword [rsi]
mov byte [rbx + 0x2d], 0
lea rax, [0x14069ded8]
cmp qword [rax - 8], 0
jne 0x1403bc01f
mov rax, qword [0x140ba4300]
movups xmm0, xmmword [rax + 8]
movups xmmword [rsp + 0x88], xmm0
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x98], rcx
lea rdi, [rbx + 0xa8]
lea rsi, [rsp + 0x88]
call fcn.14000ebf0
call fcn.14000ebf0
movsq qword [rdi], qword [rsi]
mov rcx, qword [rbp]
cmp rcx, qword [rbp + 8]
jne 0x1403bbafa
lea r15, [rbx + 0x60]
xor ecx, ecx
mov qword [r15], rcx
mov qword [r15 + 8], rcx
mov rdx, qword [rbp]
mov ebp, dword [rbp + 0x10]
and ebp, 0x7fffffff
lea rcx, [rbx + 0x70]
call fcn.14000ea70
mov dword [rbx + 0x78], ebp
mov byte [rbx + 0x2a], r14b
mov byte [rbx + 0x2b], 0
add rsp, 0xc8
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r8
lea rcx, [0x140759768]
call fcn.1402e4f10
jmp 0x1403bb911
mov rdx, qword [rbp]
mov r15d, dword [rbp + 0x10]
and r15d, 0x7fffffff
lea rcx, [rbx + 0x70]
call fcn.14000ea70
mov dword [rbx + 0x78], r15d
lea rsi, [rbx + 0x70]
lea r15, [rbx + 0x60]
mov rdi, r15
call fcn.14000ebf0
movsq qword [rdi], qword [rsi]
xor esi, esi
cmp dword [rbx + 0x38], 0
sete sil
mov dword [rsp + 0xc4], esi
test esi, esi
je 0x1403bbcd8
mov rdx, qword [rbx + 0x60]
mov rdi, rdx
mov r13d, dword [rbx + 0x68]
mov r12, r15
xor eax, eax
mov qword [rsp + 0x28], rax
test rdx, rdx
je 0x1403bc029
mov ecx, dword [rbp + 0x10]
sar ecx, 0x1f
mov r8d, dword [rbp + 0x14]
mov r10d, r8d
sar r10d, 0x1f
lea ecx, [r10 + rcx*2]
mov r10d, ecx
neg r10d
mov r9, qword [rbp + 8]
mov qword [rsp + 0x30], r9
mov r11d, dword [r12 + 8]
mov dword [rsp + 0x80], r11d
and r8d, 0x7fffffff
mov dword [rsp + 0x7c], r8d
test r10d, r10d
jne 0x1403bbf2b
mov r10, rdx
lea rcx, [0x1406c61e8]
cmp qword [r10], rcx
jne 0x1403bbd56
cmp r10, qword [rsp + 0x30]
je 0x1403bbbff
mov rax, qword [r10 + 8]
test rax, rax
je 0x1403bbe7a
mov r9, qword [r10 + 0x18]
mov ecx, dword [r10 + 0x20]
mov edx, dword [r10 + 0x24]
mov r11d, dword [rsp + 0x80]
cmp r11d, edx
ja 0x1403bc014
add ecx, r11d
sub edx, r11d
mov r8, r9
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], ecx
mov rsi, r8
jmp 0x1403bbc47
mov rax, qword [rsp + 0x28]
mov r9, qword [r10 + 0x18]
mov ecx, dword [r10 + 0x20]
mov edx, dword [r10 + 0x24]
mov r8d, dword [rsp + 0x7c]
mov r11d, dword [rsp + 0x80]
sub r8d, r11d
mov r10d, r11d
mov esi, r8d
add r10, rsi
cmp r10, rdx
ja 0x1403bc014
add r11d, ecx
mov rcx, r9
mov edx, r8d
mov rsi, rcx
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x84], 1
mov rcx, r12
mov rdx, rax
call fcn.14000ea70
xor ecx, ecx
mov dword [r12 + 8], ecx
cmp dword [rsp + 0x84], 0
je 0x1403bbcd8
lea rcx, [rbx + 0x70]
mov rdx, rdi
call fcn.14000ea70
mov dword [rbx + 0x78], r13d
mov edi, dword [rsp + 0x38]
test edi, edi
je 0x1403bbb41
mov rcx, rsi
mov r13d, dword [rsp + 0x3c]
xor r12d, r12d
xor eax, eax
test rcx, rcx
je 0x1403bbcce
mov rax, qword [rcx]
cmp dword [rax], 0
jge 0x1403bbe26
lea r12, [rcx + 0x10]
mov eax, dword [rcx + 8]
and r13d, 0x7fffffff
mov edx, r13d
mov ecx, edi
add rcx, rdx
mov eax, eax
cmp rcx, rax
ja 0x1403bbe0c
add r12, rdx
mov eax, edi
mov rdx, r12
mov qword [rbx + 0x30], rdx
mov dword [rbx + 0x38], eax
mov rdx, qword [r15]
xor edi, edi
test rdx, rdx
je 0x1403bbee7
mov ecx, dword [rbp + 0x10]
sar ecx, 0x1f
mov r13d, dword [rbp + 0x14]
mov eax, r13d
sar eax, 0x1f
lea ecx, [rax + rcx*2]
mov r12d, ecx
neg r12d
mov rbp, qword [rbp + 8]
mov eax, dword [r15 + 8]
mov dword [rsp + 0x54], eax
and r13d, 0x7fffffff
test r12d, r12d
jne 0x1403bbe75
mov r8, rdx
lea rcx, [0x1406c61e8]
cmp qword [r8], rcx
jne 0x1403bbe4b
cmp r8, rbp
je 0x1403bbde5
mov rdi, qword [r8 + 8]
test rdi, rdi
je 0x1403bbe7a
mov ecx, dword [r8 + 0x24]
mov eax, dword [rsp + 0x54]
cmp eax, ecx
ja 0x1403bc014
jmp 0x1403bbd9d
lea rcx, [0x140759768]
call fcn.1402e4f10
mov r10, rax
jmp 0x1403bbbb8
lea rdx, [0x14075aae8]
cmp qword [rcx], rdx
je 0x1403bbe01
lea rdx, [rsp + 0xa0]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov r13, qword [rsp + 0xa0]
mov r12d, dword [rsp + 0xa8]
jmp 0x1403bb988
mov ebp, 1
cmp dword [rsp + 0xc4], 0
jne 0x1403bbdbd
mov rcx, r15
mov rdx, rdi
call fcn.14000ea70
xor edx, edx
mov dword [r15 + 8], edx
xor edx, edx
test ebp, ebp
sete dl
movzx ecx, r14b
and edx, ecx
mov byte [rbx + 0x2a], dl
mov byte [rbx + 0x2b], 1
add rsp, 0xc8
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [r8 + 0x24]
mov eax, dword [rsp + 0x54]
sub r13d, eax
mov edx, r13d
add rdx, rax
cmp rdx, rcx
ja 0x1403bc014
jmp 0x1403bbd9d
mov rdx, qword [rcx + 8]
mov ecx, dword [rcx + 0x10]
test ecx, ecx
jge 0x1403bbe12
call fcn.140284780
int3
mov qword [rsp + 0xa0], rdx
mov dword [rsp + 0xa8], ecx
jmp 0x1403bbd88
lea rdx, [0x14075aae8]
cmp qword [rcx], rdx
je 0x1403bbe5f
lea rdx, [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov r12, qword [rsp + 0x58]
mov eax, dword [rsp + 0x60]
jmp 0x1403bbcaf
lea rcx, [0x140759768]
call fcn.1402e4f10
mov r8, rax
jmp 0x1403bbd2e
mov rdx, qword [rcx + 8]
mov ecx, dword [rcx + 0x10]
test ecx, ecx
jl 0x1403bbe0c
mov qword [rsp + 0x58], rdx
mov dword [rsp + 0x60], ecx
jmp 0x1403bbe3d
cmp rdx, rbp
je 0x1403bbe80
call fcn.14018c560
int3
mov ebp, dword [rsp + 0x54]
cmp r12d, 1
jne 0x1403bbeb1
lea rcx, [0x14080f8b0]
call fcn.1402e4d60
mov edx, r13d
sub edx, ebp
mov ecx, ebp
add rdx, rcx
mov ecx, dword [rax + 8]
cmp rdx, rcx
ja 0x1403bbe0c
jmp 0x1403bbd9d
lea rcx, [0x14075a398]
call fcn.1402e4f10
mov rcx, rax
lea rdx, [rsp + 0x40]
mov rax, qword [rax]
call qword [rax + 0x30]
mov eax, r13d
sub eax, ebp
mov ecx, ebp
add rax, rcx
mov ecx, dword [rsp + 0x4c]
cmp rax, rcx
jbe 0x1403bbd9d
jmp 0x1403bbe0c
xor ebp, ebp
jmp 0x1403bbda2
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
jmp 0x1403bb952
cmp r15d, eax
ja 0x1403bc014
add edx, r15d
sub eax, r15d
mov rcx, r12
mov qword [rsp + 0xb0], rcx
mov dword [rsp + 0xb8], edx
mov dword [rsp + 0xbc], eax
jmp 0x1403bb952
cmp rdx, qword [rsp + 0x30]
jne 0x1403bbe7a
cmp r10d, 1
jne 0x1403bbf93
lea rcx, [0x14080f8b0]
call fcn.1402e4d60
mov r8d, dword [rsp + 0x7c]
mov r10d, dword [rsp + 0x80]
mov r9d, r8d
sub r9d, r10d
mov edx, r10d
mov ecx, r9d
add rdx, rcx
mov ecx, dword [rax + 8]
cmp rdx, rcx
ja 0x1403bbe0c
mov r8, rax
mov rax, r8
mov r8d, r10d
mov r10d, r9d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x3c], r8d
mov rsi, rax
mov rax, qword [rsp + 0x28]
jmp 0x1403bbc47
lea rcx, [0x14075a398]
call fcn.1402e4f10
mov rcx, rax
lea rdx, [rsp + 0x68]
mov rax, qword [rax]
call qword [rax + 0x30]
mov ecx, dword [rsp + 0x7c]
mov r11d, dword [rsp + 0x80]
mov r10d, ecx
sub r10d, r11d
mov ecx, r11d
mov eax, r10d
add rcx, rax
mov eax, dword [rsp + 0x74]
cmp rcx, rax
ja 0x1403bbe0c
mov rax, qword [rsp + 0x68]
mov r8d, r11d
add r8d, dword [rsp + 0x70]
mov rcx, rax
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x3c], r8d
mov rsi, rcx
mov rax, qword [rsp + 0x28]
jmp 0x1403bbc47
lea rdx, [rsp + 0xb0]
mov rcx, rbp
mov r9d, r13d
call fcn.1404251d0
jmp 0x1403bb952
mov ecx, 0x21
call fcn.140284c50
int3
call fcn.140004179
jmp 0x1403bba60
xor ecx, ecx
xor r8d, r8d
xor r10d, r10d
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x84], edx
mov dword [rsp + 0x3c], r10d
mov rsi, r8
mov rax, qword [rsp + 0x28]
jmp 0x1403bbc52