Function at 0x1400164d0
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, 0x118
movups xmmword [rsp + 0x100], xmm6
movdqu xmm1, xmmword [0x1400243d0]
pxor xmm0, xmm0
mov r8d, 0x5a0ac1ef
lea rdi, [rsp + 0xa0]
lea r15, [rsp + 0x90]
movups xmmword [rsp + 0xc0], xmm0
mov rdx, r15
mov rcx, rdi
movups xmmword [rsp + 0x90], xmm1
lea rsi, [rsp + 0xc0]
mov qword [rsp + 0xd0], 0
call fcn.140010840
mov rcx, qword [0x14009a4f0]
mov r13, qword [rsp + 0xa8]
call fcn.140018400
cmp byte [rax], 0
mov rbx, rax
jne 0x1400169f5
mov rcx, rdi
call fcn.14000b3f0
cmp byte [rbx], 0
mov rcx, rax
jne 0x1400169f5
mov rax, qword [0x14009a3c0]
call qword [rax]
mov qword [rsp + 0x68], rax
mov r14, rax
mov rax, qword [0x14009a410]
call qword [rax]
mov r9d, 0x18
mov r8, rsi
mov rdx, r14
mov rcx, rax
mov r12, rax
mov rax, qword [0x14009a440]
call qword [rax]
mov rax, qword [rsp + 0xc0]
mov rdx, r15
mov rcx, rdi
movdqu xmm2, xmmword [0x140024380]
mov r8d, 0x2def4b3d
mov qword [rsp + 0x38], rax
movups xmmword [rsp + 0x90], xmm2
call fcn.140010840
mov rax, qword [rsp + 0xa8]
cmp byte [rbx], 0
mov qword [rsp + 0x48], rax
jne 0x1400169e1
xor edx, edx
mov rcx, rdi
mov r8, 0xffffffffffffffff
call fcn.140002fb0
cmp byte [rbx], 0
mov rcx, rax
jne 0x1400169e1
call fcn.140002e10
cmp byte [rbx], 0
jne 0x1400169e1
cdqe
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x78], rax
mov rcx, rax
mov rax, qword [0x14009a430]
mov r8d, 0x1000002
mov qword [rsp + 0x28], 0
call qword [rax]
mov r14, rax
test rax, rax
je 0x140016b20
mov rax, qword [0x14009a3f0]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x20], 0
mov edx, 4
call qword [rax]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140016c30
mov rax, qword [rsp + 0x38]
movsxd rdx, dword [rax + 0x3c]
add rdx, rax
cmp word [rdx + 6], 0
je 0x140016954
lea rax, [rdx + 0x18]
mov qword [rsp + 0x80], r12
xor ebp, ebp
movdqu xmm6, xmmword [0x1400242d0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x88], r14
mov r14, rdx
nop dword [rax]
mov rax, qword [rsp + 0x40]
movzx esi, word [r14 + 0x14]
mov edx, 8
mov rcx, rdi
add rsi, rax
lea eax, [rbp + rbp*4]
shl eax, 3
movzx eax, ax
add rsi, rax
call fcn.14000a0a0
mov r12, qword [rsp + 0xa8]
mov rax, qword [rsi]
mov r15, qword [rsp + 0xa0]
mov qword [r12 + 8], rax
cmp byte [rbx], 0
jne 0x140016c08
mov rdx, qword [rsp + 0x30]
mov r8d, 0x2584b1df
mov rcx, rdi
movups xmmword [rsp + 0x90], xmm6
call fcn.140010840
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
jne 0x14001690a
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], r13
call fcn.14000b380
cmp byte [rbx], 0
jne 0x14001690a
test al, al
je 0x140016907
mov rcx, qword [rsp + 0x38]
movsxd rdx, dword [rsi + 0xc]
mov dword [rsp + 0xbc], 0
call fcn.140014a70
cmp byte [rbx], 0
mov rcx, rax
jne 0x14001690a
lea rax, [rsp + 0xbc]
movsxd rdx, dword [rsi + 8]
mov r8d, 0x40
mov qword [rsp + 0x50], rax
mov r9, rax
mov rax, qword [0x14009a3e0]
call qword [rax]
test eax, eax
jne 0x140016897
movdqu xmm3, xmmword [0x140024290]
mov rdx, qword [rsp + 0x30]
mov r8d, 0x6ee4020d
mov rcx, rdi
movups xmmword [rsp + 0x90], xmm3
call fcn.140010840
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x140016d38
mov qword [rsp + 0xe0], rax
mov rax, qword [0x14009a3a0]
mov qword [rsp + 0xe8], r15
call qword [rax]
mov rcx, rdi
movsxd rdx, eax
call fcn.1400025e0
cmp byte [rbx], 0
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
jne 0x140016873
mov qword [rsp + 0xf0], rdx
lea rcx, [rsp + 0xe0]
mov edx, 2
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x70], rax
call fcn.140009650
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140016882
test byte [rax + 7], 0x40
je 0x140016d60
test r15, r15
je 0x140016892
test byte [r15 + 7], 0x40
je 0x140016d50
cmp byte [rbx], 0
jne 0x14001690a
movsxd rdx, dword [rsi + 0xc]
mov rcx, qword [rsp + 0x38]
call fcn.140014a70
cmp byte [rbx], 0
mov r15, rax
jne 0x14001690a
movsxd rdx, dword [rsi + 0xc]
mov rcx, qword [rsp + 0x58]
call fcn.140014a70
cmp byte [rbx], 0
mov rdx, rax
jne 0x14001690a
movsxd r8, dword [rsi + 8]
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x38]
movsxd rdx, dword [rsi + 0xc]
call fcn.140014a70
cmp byte [rbx], 0
mov rcx, rax
jne 0x14001690a
mov rax, qword [0x14009a3e0]
movsxd rdx, dword [rsi + 8]
mov r9, qword [rsp + 0x50]
mov r8d, dword [rsp + 0xbc]
call qword [rax]
test eax, eax
je 0x140016a50
add ebp, 1
test r13, r13
je 0x14001691a
test byte [r13 + 7], 0x40
je 0x140016a28
test byte [r12 + 7], 0x40
je 0x140016a3c
cmp byte [rbx], 0
jne 0x140016c14
cmp bp, word [r14 + 6]
jb 0x1400166c8
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
mov rsi, qword [0x14009a3b0]
mov rcx, r12
call qword [rsi]
mov rcx, qword [rsp + 0x78]
call qword [rsi]
mov rcx, r14
call qword [rsi]
mov rax, qword [0x14009a3d0]
mov rcx, qword [rsp + 0x68]
call qword [rax]
movdqu xmm5, xmmword [0x1400241f0]
mov rdx, r15
mov rcx, rdi
mov r8d, 0x16990955
movups xmmword [rsp + 0x90], xmm5
call fcn.140010840
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
jne 0x1400169d2
lea rcx, [rsp + 0xe0]
mov edx, 1
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rsi
call fcn.140009650
test rsi, rsi
je 0x1400169e1
test byte [rsi + 7], 0x40
je 0x140016c20
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1400169f5
test byte [rax + 7], 0x40
je 0x140016bf8
test r13, r13
je 0x140016a05
test byte [r13 + 7], 0x40
je 0x140016be8
movups xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r13
call fcn.1400068d0
test byte [r12 + 7], 0x40
jne 0x140016926
mov rcx, r12
call fcn.1400068d0
jmp 0x140016926
movdqu xmm4, xmmword [0x140024220]
mov rdx, qword [rsp + 0x30]
mov r8d, 0x1def3a77
mov rcx, rdi
movups xmmword [rsp + 0x90], xmm4
call fcn.140010840
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
jne 0x140016d80
mov qword [rsp + 0xe0], rax
mov rax, qword [0x14009a3a0]
mov qword [rsp + 0xe8], rsi
call qword [rax]
mov rcx, rdi
movsxd rdx, eax
call fcn.1400025e0
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
jne 0x140016ae7
lea rcx, [rsp + 0xe0]
mov edx, 2
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], r15
call fcn.140009650
test r15, r15
je 0x140016af7
test byte [r15 + 7], 0x40
je 0x140016d08
test rsi, rsi
je 0x140016b06
test byte [rsi + 7], 0x40
je 0x140016cf8
cmp byte [rbx], 0
jne 0x14001690a
add ebp, 1
jmp 0x14001690a
movdqu xmm5, xmmword [0x140024330]
mov r8d, 0xcb37107
mov rdx, r15
mov rcx, rdi
movups xmmword [rsp + 0x90], xmm5
call fcn.140010840
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
jne 0x140016d9d
mov qword [rsp + 0xe0], rax
mov rax, qword [0x14009a3a0]
mov qword [rsp + 0xe8], rsi
call qword [rax]
mov rcx, rdi
movsxd rdx, eax
call fcn.1400025e0
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
jne 0x140016bb5
lea rcx, [rsp + 0xe0]
mov edx, 2
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rbp
call fcn.140009650
test rbp, rbp
je 0x140016bc4
test byte [rbp + 7], 0x40
je 0x140016d28
test rsi, rsi
je 0x140016bd3
test byte [rsi + 7], 0x40
je 0x140016d18
cmp byte [rbx], 0
je 0x14001664f
jmp 0x1400169e1
mov rcx, r13
call fcn.1400068d0
jmp 0x140016a05
mov rcx, rax
call fcn.1400068d0
jmp 0x1400169f5
test byte [r12 + 7], 0x40
je 0x140016a3c
mov r13, qword [rsp + 0x60]
jmp 0x1400169e1
mov rcx, rsi
call fcn.1400068d0
jmp 0x1400169e1
movdqu xmm4, xmmword [0x1400242f0]
mov r8d, 0x57aee05
mov rdx, r15
mov rcx, rdi
movups xmmword [rsp + 0x90], xmm4
call fcn.140010840
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
jne 0x140016dab
mov qword [rsp + 0xe0], rax
mov rax, qword [0x14009a3a0]
mov qword [rsp + 0xe8], rsi
call qword [rax]
mov rcx, rdi
movsxd rdx, eax
call fcn.1400025e0
cmp byte [rbx], 0
mov rax, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
jne 0x140016cc5
lea rcx, [rsp + 0xe0]
mov edx, 2
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rbp
call fcn.140009650
test rbp, rbp
je 0x140016cd4
test byte [rbp + 7], 0x40
je 0x140016d70
test rsi, rsi
je 0x140016ce3
test byte [rsi + 7], 0x40
je 0x140016d90
cmp byte [rbx], 0
je 0x14001667d
jmp 0x1400169e1
mov rcx, rsi
call fcn.1400068d0
jmp 0x140016b06
mov rcx, r15
call fcn.1400068d0
jmp 0x140016af7
mov rcx, rsi
call fcn.1400068d0
jmp 0x140016bd3
mov rcx, rbp
call fcn.1400068d0
jmp 0x140016bc4
test r15, r15
jne 0x140016887
jmp 0x14001690a
mov rcx, r15
call fcn.1400068d0
jmp 0x140016892
mov rcx, rax
call fcn.1400068d0
jmp 0x140016882
mov rcx, rbp
call fcn.1400068d0
jmp 0x140016cd4
test rsi, rsi
jne 0x140016afc
jmp 0x14001690a
mov rcx, rsi
call fcn.1400068d0
jmp 0x140016ce3
test rsi, rsi
jne 0x140016bc9
jmp 0x1400169e1
test rsi, rsi
jne 0x140016cd9
jmp 0x1400169e1