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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
xor eax, eax
xor ecx, ecx
cpuid
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
mov dword [rbp - 0x39], eax
cmp ebx, 0x756e6547
jne 0x140066360
cmp ecx, 0x6c65746e
jne 0x140066360
cmp edx, 0x49656e69
jne 0x140066360
xor ecx, ecx
mov eax, 1
cpuid
mov dword [rbp - 0x39], eax
mov dword [rbp - 0x35], ebx
mov dword [rbp - 0x2d], edx
bt ecx, 0x19
jb 0x140065c6a
mov rdx, qword [0x1401437c0]
xor ebx, ebx
test rdx, rdx
jne 0x140065aa7
mov rdx, qword [0x1401436b0]
mov ecx, ebx
test rdx, rdx
je 0x140065a78
mov r11, qword [0x1401436a8]
nop word [rax + rax]
cmp dword [r11 + 0x20], 0x2489d460
je 0x140065ad7
inc ecx
add r11, 0x28
movsxd rax, ecx
cmp rax, rdx
jb 0x140065a60
mov dword [0x140143468], 0x12
mov byte [0x140143245], bl
mov rdx, rbx
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
xor rdx, 0xbdf283d
mov qword [0x1401437c0], rdx
xor rdx, 0xbdf283d
jne 0x140065bdf
mov dword [0x140143468], 0x14
mov byte [0x140143245], bl
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
jmp 0x140065be2
mov rsi, qword [r11 + 0x10]
mov edi, ebx
movsxd r13, dword [rsi + 0x3c]
add r13, rsi
mov r12d, dword [r13 + 0x88]
add r12, rsi
mov r15d, dword [r12 + 0x20]
mov r14d, dword [r12 + 0x18]
add r15, rsi
test r14d, r14d
je 0x140065b58
mov eax, edi
mov rdx, rbx
movsxd r8, dword [r15 + rax*4]
add r8, rsi
cmp byte [r8], dl
je 0x140065b1a
inc rdx
cmp byte [rdx + r8], bl
jne 0x140065b11
mov r10d, ebx
mov r9d, ebx
test rdx, rdx
je 0x140065b51
mov rax, rbx
nop dword [rax + rax]
movsx ecx, byte [rax + r8]
inc r9d
imul eax, r10d, 0x1f
add ecx, eax
mov eax, r9d
mov r10d, ecx
cmp rax, rdx
jb 0x140065b30
cmp ecx, 0x2f56fc5d
je 0x140065b67
inc edi
cmp edi, r14d
jb 0x140065b00
mov dword [0x140143468], 0x13
jmp 0x140065a82
cmp di, 0xffff
je 0x140065b58
mov eax, dword [r12 + 0x24]
add rax, rsi
movsx rcx, di
movsx rdx, word [rax + rcx*2]
mov ecx, dword [r12 + 0x1c]
add rcx, rsi
mov edx, dword [rcx + rdx*4]
add rdx, rsi
cmp rdx, r12
jb 0x140065baa
mov eax, dword [r13 + 0x8c]
mov ecx, dword [r13 + 0x88]
add rax, rcx
add rax, rsi
cmp rdx, rax
jbe 0x140065b58
cmp rdx, rsi
jb 0x140065b58
mov eax, dword [r13 + 0x50]
add rax, rsi
cmp rdx, rax
ja 0x140065b58
test rdx, rdx
je 0x140065b58
mov rcx, qword [r11 + 0x18]
add rcx, rsi
cmp rdx, rcx
jbe 0x140065a99
mov dword [0x140143468], 0x15
jmp 0x140065a82
mov rbx, rdx
movabs rax, 0x63f546a6768212ae
movabs rdx, 0x138512a739840fa5
mov qword [rbp - 0x39], rax
movabs rcx, 0x63f567d419f060eb
movabs rax, 0x1dccecd101b59cc
mov qword [rbp - 0x29], rcx
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x31], rax
movdqa xmm0, xmmword [rbp - 0x39]
pxor xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 0x29], rdx
movabs rdx, 0x60b4eea9756f2ba3
mov qword [rbp - 0x21], rdx
movabs rdx, 0x66e73ae46eb8a24f
mov qword [rbp - 0x19], rdx
movabs rdx, 0x599c730ed6a79216
movdqa xmmword [rbp - 0x39], xmm0
movdqa xmm0, xmmword [rbp - 0x29]
mov qword [rbp + 7], rcx
mov qword [rbp + 0xf], rax
pxor xmm0, xmmword [rbp + 7]
jmp 0x140066595
test cl, 0x20
jne 0x140065e93
mov rdx, qword [0x1401437c0]
xor ebx, ebx
test rdx, rdx
jne 0x140065cdd
mov rdx, qword [0x1401436b0]
mov ecx, ebx
test rdx, rdx
je 0x140065cae
mov r11, qword [0x1401436a8]
cmp dword [r11 + 0x20], 0x2489d460
je 0x140065d0d
inc ecx
add r11, 0x28
movsxd rax, ecx
cmp rax, rdx
jb 0x140065c96
mov dword [0x140143468], 0x12
mov byte [0x140143245], bl
mov rdx, rbx
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
xor rdx, 0xbdf283d
mov qword [0x1401437c0], rdx
xor rdx, 0xbdf283d
jne 0x140065e1f
mov dword [0x140143468], 0x14
mov byte [0x140143245], bl
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
jmp 0x140065e22
mov rsi, qword [r11 + 0x10]
mov edi, ebx
movsxd r13, dword [rsi + 0x3c]
add r13, rsi
mov r12d, dword [r13 + 0x88]
add r12, rsi
mov r15d, dword [r12 + 0x20]
mov r14d, dword [r12 + 0x18]
add r15, rsi
test r14d, r14d
je 0x140065d98
nop word [rax + rax]
mov eax, edi
mov rdx, rbx
movsxd r8, dword [r15 + rax*4]
add r8, rsi
cmp byte [r8], dl
je 0x140065d5a
inc rdx
cmp byte [rdx + r8], bl
jne 0x140065d51
mov r10d, ebx
mov r9d, ebx
test rdx, rdx
je 0x140065d91
mov rax, rbx
nop dword [rax + rax]
movsx ecx, byte [r8 + rax]
inc r9d
imul eax, r10d, 0x1f
add ecx, eax
mov eax, r9d
mov r10d, ecx
cmp rax, rdx
jb 0x140065d70
cmp ecx, 0x2f56fc5d
je 0x140065da7
inc edi
cmp edi, r14d
jb 0x140065d40
mov dword [0x140143468], 0x13
jmp 0x140065cb8
cmp di, 0xffff
je 0x140065d98
mov eax, dword [r12 + 0x24]
add rax, rsi
movsx rcx, di
movsx rdx, word [rax + rcx*2]
mov ecx, dword [r12 + 0x1c]
add rcx, rsi
mov edx, dword [rcx + rdx*4]
add rdx, rsi
cmp rdx, r12
jb 0x140065dea
mov eax, dword [r13 + 0x8c]
mov ecx, dword [r13 + 0x88]
add rax, rsi
add rax, rcx
cmp rdx, rax
jbe 0x140065d98
cmp rdx, rsi
jb 0x140065d98
mov eax, dword [r13 + 0x50]
add rax, rsi
cmp rdx, rax
ja 0x140065d98
test rdx, rdx
je 0x140065d98
mov rcx, qword [r11 + 0x18]
add rcx, rsi
cmp rdx, rcx
jbe 0x140065ccf
mov dword [0x140143468], 0x15
jmp 0x140065cb8
mov rbx, rdx
movabs rax, 0x63f546a6768212ae
movabs rdx, 0x138512a739840fa5
mov qword [rbp - 0x39], rax
movabs rcx, 0x63f567d419f060eb
movabs rax, 0x1dccecd101b59cc
mov qword [rbp - 0x29], rcx
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x31], rax
movdqa xmm0, xmmword [rbp - 0x39]
pxor xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 0x29], rdx
movabs rdx, 0x60b4eea9756f2ba3
mov qword [rbp - 0x21], rdx
movabs rdx, 0x66e73ae46eb8a24f
mov qword [rbp - 0x19], rdx
movabs rdx, 0x599c730cd6a79216
jmp 0x140065c4e
test byte [0x7ffe02f0], 0x80
je 0x14006614f
mov rdx, qword [0x1401437c0]
xor ebx, ebx
test rdx, rdx
jne 0x140065f0b
mov rdx, qword [0x1401436b0]
mov ecx, ebx
test rdx, rdx
je 0x140065edc
mov r11, qword [0x1401436a8]
cmp dword [r11 + 0x20], 0x2489d460
je 0x140065f3b
inc ecx
add r11, 0x28
movsxd rax, ecx
cmp rax, rdx
jb 0x140065ec4
mov dword [0x140143468], 0x12
mov byte [0x140143245], bl
mov rdx, rbx
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
xor rdx, 0xbdf283d
mov qword [0x1401437c0], rdx
xor rdx, 0xbdf283d
jne 0x14006604f
mov dword [0x140143468], 0x14
mov byte [0x140143245], bl
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
jmp 0x140066052
mov rsi, qword [r11 + 0x10]
mov edi, ebx
movsxd r13, dword [rsi + 0x3c]
add r13, rsi
mov r12d, dword [r13 + 0x88]
add r12, rsi
mov r15d, dword [r12 + 0x20]
mov r14d, dword [r12 + 0x18]
add r15, rsi
test r14d, r14d
je 0x140065fc8
nop dword [rax]
nop dword [rax + rax]
mov eax, edi
mov rdx, rbx
movsxd r8, dword [r15 + rax*4]
add r8, rsi
cmp byte [r8], dl
je 0x140065f8a
inc rdx
cmp byte [rdx + r8], bl
jne 0x140065f81
mov r10d, ebx
mov r9d, ebx
test rdx, rdx
je 0x140065fc1
mov rax, rbx
nop dword [rax + rax]
movsx ecx, byte [r8 + rax]
inc r9d
imul eax, r10d, 0x1f
add ecx, eax
mov eax, r9d
mov r10d, ecx
cmp rax, rdx
jb 0x140065fa0
cmp ecx, 0x2f56fc5d
je 0x140065fd7
inc edi
cmp edi, r14d
jb 0x140065f70
mov dword [0x140143468], 0x13
jmp 0x140065ee6
cmp di, 0xffff
je 0x140065fc8
mov eax, dword [r12 + 0x24]
add rax, rsi
movsx rcx, di
movsx rdx, word [rax + rcx*2]
mov ecx, dword [r12 + 0x1c]
add rcx, rsi
mov edx, dword [rcx + rdx*4]
add rdx, rsi
cmp rdx, r12
jb 0x14006601a
mov eax, dword [r13 + 0x8c]
mov ecx, dword [r13 + 0x88]
add rax, rsi
add rax, rcx
cmp rdx, rax
jbe 0x140065fc8
cmp rdx, rsi
jb 0x140065fc8
mov eax, dword [r13 + 0x50]
add rax, rsi
cmp rdx, rax
ja 0x140065fc8
test rdx, rdx
je 0x140065fc8
mov rcx, qword [r11 + 0x18]
add rcx, rsi
cmp rdx, rcx
jbe 0x140065efd
mov dword [0x140143468], 0x15
jmp 0x140065ee6
mov rbx, rdx
movabs rdx, 0x7d502a778950cbb
mov qword [rbp + 7], rdx
movabs rdx, 0x72fcaba1727a2aa5
mov qword [rbp + 0xf], rdx
movabs rdx, 0x29a47ff37dbaa558
mov qword [rbp + 0x17], rdx
movabs rdx, 0x31e87a518fffd651
mov qword [rbp + 0x1f], rdx
movabs rdx, 0x83882cc7e5e4831a
movdqa xmm1, xmmword [rbp + 0x17]
movabs rax, 0x63f546a6768212ae
mov qword [rbp - 0x39], rax
movabs rcx, 0x63f567d419f060eb
movabs rax, 0x1dccecd101b59cc
mov qword [rbp + 0x27], rdx
mov qword [rbp - 0x21], rax
movabs rdx, 0x9bbe408113626e70
mov qword [rbp - 0x31], rax
movdqa xmm0, xmmword [rbp - 0x39]
mov qword [rbp - 0x29], rcx
pxor xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 0x21], rax
movabs rax, 0x46c65f960fcfc63d
movdqa xmmword [rbp - 0x39], xmm0
movdqa xmm0, xmmword [rbp + 7]
mov qword [rbp - 0x19], rax
movabs rax, 0x599c5a3fe6dfa23e
mov qword [rbp + 0x2f], rdx
mov qword [rbp - 0x11], rax
movabs rax, 0x83a97f88aca6a37f
pxor xmm1, xmmword [rbp - 0x19]
mov qword [rbp - 1], rdx
lea rdx, [rbp + 7]
mov qword [rbp - 0x29], rcx
pxor xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp + 7], xmm0
movdqa xmm0, xmmword [rbp + 0x27]
mov qword [rbp - 9], rax
pxor xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp + 0x27], xmm0
movdqa xmmword [rbp + 0x17], xmm1
jmp 0x1400665cd
call fcn.140001590
test rax, rax
jne 0x140066359
cmp byte [0x7ffe0289], al
jne 0x140066359
mov rdx, qword [0x1401437c0]
xor ebx, ebx
test rdx, rdx
jne 0x1400661d7
mov rdx, qword [0x1401436b0]
mov ecx, ebx
test rdx, rdx
je 0x1400661a8
mov r11, qword [0x1401436a8]
nop dword [rax]
cmp dword [r11 + 0x20], 0x2489d460
je 0x140066207
inc ecx
add r11, 0x28
movsxd rax, ecx
cmp rax, rdx
jb 0x140066190
mov dword [0x140143468], 0x12
mov byte [0x140143245], bl
mov rdx, rbx
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
xor rdx, 0xbdf283d
mov qword [0x1401437c0], rdx
xor rdx, 0xbdf283d
jne 0x14006630f
mov dword [0x140143468], 0x14
mov byte [0x140143245], bl
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
jmp 0x140066312
mov rsi, qword [r11 + 0x10]
mov edi, ebx
movsxd r13, dword [rsi + 0x3c]
add r13, rsi
mov r12d, dword [r13 + 0x88]
add r12, rsi
mov r15d, dword [r12 + 0x20]
mov r14d, dword [r12 + 0x18]
add r15, rsi
test r14d, r14d
je 0x140066288
mov eax, edi
mov rdx, rbx
movsxd r8, dword [r15 + rax*4]
add r8, rsi
cmp byte [r8], dl
je 0x14006624a
inc rdx
cmp byte [rdx + r8], bl
jne 0x140066241
mov r10d, ebx
mov r9d, ebx
test rdx, rdx
je 0x140066281
mov rax, rbx
nop dword [rax + rax]
movsx ecx, byte [r8 + rax]
inc r9d
imul eax, r10d, 0x1f
add ecx, eax
mov eax, r9d
mov r10d, ecx
cmp rax, rdx
jb 0x140066260
cmp ecx, 0x2f56fc5d
je 0x140066297
inc edi
cmp edi, r14d
jb 0x140066230
mov dword [0x140143468], 0x13
jmp 0x1400661b2
cmp di, 0xffff
je 0x140066288
mov eax, dword [r12 + 0x24]
add rax, rsi
movsx rcx, di
movsx rdx, word [rax + rcx*2]
mov ecx, dword [r12 + 0x1c]
add rcx, rsi
mov edx, dword [rcx + rdx*4]
add rdx, rsi
cmp rdx, r12
jb 0x1400662da
mov eax, dword [r13 + 0x8c]
mov ecx, dword [r13 + 0x88]
add rax, rsi
add rax, rcx
cmp rdx, rax
jbe 0x140066288
cmp rdx, rsi
jb 0x140066288
mov eax, dword [r13 + 0x50]
add rax, rsi
cmp rdx, rax
ja 0x140066288
test rdx, rdx
je 0x140066288
mov rcx, qword [r11 + 0x18]
add rcx, rsi
cmp rdx, rcx
jbe 0x1400661c9
mov dword [0x140143468], 0x15
jmp 0x1400661b2
mov rbx, rdx
movabs rdx, 0x6d502a778950cbb
mov qword [rbp + 7], rdx
movabs rdx, 0x6f95eea87c7938a2
mov qword [rbp + 0xf], rdx
movabs rdx, 0x1eeb0bc02fa3a349
mov qword [rbp + 0x17], rdx
movabs rdx, 0x79f9324bc6b1cb1e
mov qword [rbp + 0x1f], rdx
movabs rdx, 0x83a97fa9ffe9ea3d
jmp 0x140066094
mov al, 1
jmp 0x1400665dd
mov rdx, qword [0x1401437c0]
xor ebx, ebx
test rdx, rdx
jne 0x1400663ca
mov rdx, qword [0x1401436b0]
mov ecx, ebx
test rdx, rdx
je 0x14006639b
mov r11, qword [0x1401436a8]
cmp dword [r11 + 0x20], 0x2489d460
je 0x1400663fa
inc ecx
add r11, 0x28
movsxd rax, ecx
cmp rax, rdx
jb 0x140066383
mov dword [0x140143468], 0x12
mov byte [0x140143245], bl
mov rdx, rbx
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
xor rdx, 0xbdf283d
mov qword [0x1401437c0], rdx
xor rdx, 0xbdf283d
jne 0x14006650f
mov dword [0x140143468], 0x14
mov byte [0x140143245], bl
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
jmp 0x140066512
mov rsi, qword [r11 + 0x10]
mov edi, ebx
movsxd r13, dword [rsi + 0x3c]
add r13, rsi
mov r12d, dword [r13 + 0x88]
add r12, rsi
mov r15d, dword [r12 + 0x20]
mov r14d, dword [r12 + 0x18]
add r15, rsi
test r14d, r14d
je 0x140066488
nop dword [rax]
nop word [rax + rax]
mov eax, edi
mov rdx, rbx
movsxd r8, dword [r15 + rax*4]
add r8, rsi
cmp byte [r8], dl
je 0x14006644a
inc rdx
cmp byte [rdx + r8], bl
jne 0x140066441
mov r10d, ebx
mov r9d, ebx
test rdx, rdx
je 0x140066481
mov rax, rbx
nop dword [rax + rax]
movsx ecx, byte [rax + r8]
inc r9d
imul eax, r10d, 0x1f
add ecx, eax
mov eax, r9d
mov r10d, ecx
cmp rax, rdx
jb 0x140066460
cmp ecx, 0x2f56fc5d
je 0x140066497
inc edi
cmp edi, r14d
jb 0x140066430
mov dword [0x140143468], 0x13
jmp 0x1400663a5
cmp di, 0xffff
je 0x140066488
mov eax, dword [r12 + 0x24]
add rax, rsi
movsx rcx, di
movsx rdx, word [rax + rcx*2]
mov ecx, dword [r12 + 0x1c]
add rcx, rsi
mov edx, dword [rcx + rdx*4]
add rdx, rsi
cmp rdx, r12
jb 0x1400664da
mov eax, dword [r13 + 0x8c]
mov ecx, dword [r13 + 0x88]
add rax, rcx
add rax, rsi
cmp rdx, rax
jbe 0x140066488
cmp rdx, rsi
jb 0x140066488
mov eax, dword [r13 + 0x50]
add rax, rsi
cmp rdx, rax
ja 0x140066488
test rdx, rdx
je 0x140066488
mov rcx, qword [r11 + 0x18]
add rcx, rsi
cmp rdx, rcx
jbe 0x1400663bc
mov dword [0x140143468], 0x15
jmp 0x1400663a5
mov rbx, rdx
movabs rax, 0x63f546a6768212ae
movabs rcx, 0x63f567d419f060eb
mov qword [rbp - 0x39], rax
movabs rdx, 0x138512a739840fa5
movabs rax, 0x1dccecd101b59cc
mov qword [rbp - 0x29], rcx
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x31], rax
movdqa xmm0, xmmword [rbp - 0x39]
pxor xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 0x29], rdx
movabs rdx, 0x60b4eea9756f2ba3
mov qword [rbp - 0x21], rdx
movabs rdx, 0x66e73ae46eb8a24f
movdqa xmmword [rbp - 0x39], xmm0
mov qword [rbp + 7], rcx
mov qword [rbp + 0xf], rax
movdqa xmm0, xmmword [rbp + 7]
pxor xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 0x19], rdx
movabs rdx, 0x599c730dd6a79216
mov qword [rbp - 0x11], rdx
movabs rax, 0x46c65f960fcfc63d
movdqa xmm1, xmmword [rbp - 0x19]
lea rdx, [rbp - 0x29]
mov qword [rbp + 0x17], rax
movabs rax, 0x599c5a3fe6dfa23e
mov qword [rbp + 0x1f], rax
pxor xmm1, xmmword [rbp + 0x17]
movdqa xmmword [rbp - 0x19], xmm1
movdqa xmmword [rbp - 0x29], xmm0
mov r9d, select
lea r8, [rbp - 0x39]
xor ecx, ecx
call rbx
xor al, al
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret