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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
movups xmm1, xmmword [rcx + 0x10]
mov edx, dword [r8 + 0xc]
xor r15d, r15d
movups xmm0, xmmword [rcx]
mov r12, rcx
mov rdi, r9
mov ebx, r15d
psrldq xmm1, 8
mov r9d, dword [r8 + 4]
movq r11, xmm1
movaps xmmword [rax - 0x68], xmm0
mov r10, r11
mov rax, qword [rcx + 0x30]
mov ecx, dword [r8 + 8]
mov r8d, dword [r8 + 0x10]
shr r10, 0x20
mov qword [rsp + 0xd8], rax
cmp r10d, r11d
mov eax, 1
mov dword [rsp + 0x34], r8d
setb bl
mov esi, eax
sub r9d, ecx
shl esi, cl
mov ecx, r8d
mov dword [rsp + 0x7c], ebx
shl eax, cl
mov ecx, dword [r12 + 0x18]
dec eax
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x80], ecx
cmp r10d, r11d
jae 0x140372601
mov eax, dword [r12 + 0x1c]
jmp 0x140372603
mov eax, ecx
mov rbp, qword [r12 + 8]
mov qword [rsp + 0x90], rbp
mov dword [rsp + 0x38], eax
test ebx, ebx
je 0x140372645
mov r8, qword [r12 + 0x10]
mov qword [rsp + 0xa0], r8
mov r11d, eax
add r11, r8
add r8, rcx
mov qword [rsp + 0xb0], r11
mov qword [rsp + 0xa8], r8
mov r8d, dword [rsp + 0x34]
jmp 0x14037265d
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xa8], r15
mov r13, qword [rsp + 0x1e0]
lea r10, [rcx + rbp]
add r13, rdi
mov qword [rsp + 0x68], r10
mov rax, rcx
mov qword [rsp + 0xe0], r13
mov eax, 8
mov rcx, r13
cmp edx, eax
mov r14, rdi
mov rsi, rdi
mov rdi, r15
cmova eax, edx
sub rcx, rax
mov qword [rsp + 0xd0], rcx
cmp qword [rsp + 0x1d8], rcx
ja 0x140372c7f
mov eax, 0x20
mov qword [rsp + 0x98], rdx
mov ecx, eax
mov r11, rdx
sub ecx, r8d
mov r8d, 0x40
sub r8d, r9d
sub ecx, r9d
sub eax, r9d
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x1e0], eax
mov edx, eax
mov dword [rsp + 0x74], r8d
xor ebx, ebx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x60], rbx
mov eax, esi
mov qword [rsp + 0x58], r9
sub eax, ebp
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x3c], eax
cmp rsi, qword [rsp + 0x1d8]
je 0x140372741
movzx eax, byte [rdi]
add rax, 0xa
imul rax, qword [rsp + 0xd8]
sub r15, rax
movabs rax, 0xcf1bbcdcb7a56463
imul r15, rax
movzx eax, byte [r11 + rdi]
add r15, 0xa
add r15, rax
mov qword [rsp + 0x88], r15
jmp 0x140372783
xor r15d, r15d
xor ecx, ecx
mov qword [rsp + 0x88], r15
test r11, r11
je 0x14037277f
movabs rdi, 0xcf1bbcdcb7a56463
nop dword [rax]
movzx eax, byte [rcx + rsi]
inc rcx
imul r15, rdi
add r15, 0xa
add r15, rax
cmp rcx, r11
jb 0x140372760
mov qword [rsp + 0x88], r15
mov ecx, dword [rsp + 0x40]
mov rax, r15
mov qword [rsp + 0xc8], rsi
shr rax, cl
mov rdi, rsi
cmp edx, dword [rsp + 0x34]
mov ecx, r15d
cmovae ecx, eax
and ecx, dword [rsp + 0x70]
cmp ecx, dword [rsp + 0x70]
jne 0x140372c60
mov rax, qword [rsp + 0x1d0]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xf0], xmm0
cmp dword [rsp + 0x30], ebx
jne 0x1403727c9
xor eax, eax
jmp 0x1403727d3
mov ecx, dword [rsp + 0x74]
mov rax, r15
shr rax, cl
mov ecx, dword [rsp + 0xf8]
mov edx, eax
mov rax, qword [r12 + 0x20]
shl rdx, cl
mov ecx, dword [rsp + 0x1e0]
lea r12, [rax + rdx*8]
xor eax, eax
mov qword [rsp + 0xb8], rax
mov rdx, r15
mov eax, dword [rsp + 0x78]
shr rdx, cl
mov qword [rsp + 0x48], rdx
lea rdi, [r12 + rax*8]
mov qword [rsp + 0xc0], rdi
cmp r12, rdi
jae 0x140372bf9
mov r15, qword [rsp + 0x90]
cmp dword [r12 + 4], edx
jne 0x140372a5b
mov eax, dword [r12]
cmp eax, dword [rsp + 0x38]
jbe 0x140372a5b
cmp dword [rsp + 0x7c], 0
je 0x140372911
cmp eax, dword [rsp + 0x80]
mov rbp, r10
mov rdi, r15
mov r11, r13
cmovb rdi, qword [rsp + 0xa0]
mov r8, r13
add rdi, rax
cmp eax, dword [rsp + 0x80]
mov rdx, rdi
cmovb r11, qword [rsp + 0xa8]
cmovb rbp, qword [rsp + 0xb0]
mov rcx, r11
sub rcx, rdi
add rcx, rsi
cmp rcx, r13
cmovb r8, rcx
mov rcx, rsi
call fcn.140341d50
mov rbx, rax
add rax, rdi
cmp rax, r11
jne 0x1403728bb
mov rdx, qword [rsp + 0x68]
lea rcx, [rbx + rsi]
mov r8, r13
call fcn.140341d50
add rbx, rax
mov r11, qword [rsp + 0x98]
cmp rbx, r11
jb 0x140372a3f
xor edx, edx
cmp rsi, r14
jbe 0x140372904
mov r8, rsi
lea rcx, [rdi - 1]
sub r8, rdi
nop dword [rax]
lea rax, [rcx + 1]
cmp rax, rbp
jbe 0x140372904
movzx eax, byte [rcx]
cmp byte [rcx + r8], al
jne 0x140372904
dec rcx
inc rdx
lea rax, [rcx + 1]
add rax, r8
cmp rax, r14
ja 0x1403728e0
mov rdi, qword [rsp + 0xc0]
jmp 0x1403729f4
lea r9, [rax + r15]
mov rax, rsi
lea r8, [r13 - 7]
mov rdx, r9
cmp rsi, r8
jae 0x140372969
mov rax, qword [r9]
xor rax, qword [rsi]
je 0x140372941
bsf rbx, rax
mov dword [rsp + 0x84], 0
shr rbx, 3
jmp 0x1403729ae
lea rax, [rsi + 8]
lea rdx, [r9 + 8]
cmp rax, r8
jae 0x140372969
nop
mov rcx, qword [rax]
xor rcx, qword [rdx]
jne 0x140372a21
add rax, 8
add rdx, 8
cmp rax, r8
jb 0x140372950
lea rcx, [r13 - 3]
cmp rax, rcx
jae 0x140372980
mov ecx, dword [rax]
cmp dword [rdx], ecx
jne 0x140372980
add rax, 4
add rdx, 4
lea rcx, [r13 - 1]
cmp rax, rcx
jae 0x140372999
movzx ecx, word [rax]
cmp word [rdx], cx
jne 0x140372999
add rax, 2
add rdx, 2
cmp rax, r13
jae 0x1403729a8
movzx ecx, byte [rax]
cmp byte [rdx], cl
jne 0x1403729a8
inc rax
mov rbx, rax
sub rbx, rsi
cmp rbx, r11
jb 0x140372a47
xor edx, edx
cmp rsi, r14
jbe 0x1403729f4
mov r8, rsi
lea rcx, [r9 - 1]
sub r8, r9
nop dword [rax + rax]
lea rax, [rcx + 1]
cmp rax, r10
jbe 0x1403729f4
movzx eax, byte [rcx]
cmp byte [rcx + r8], al
jne 0x1403729f4
dec rcx
inc rdx
lea rax, [rcx + 1]
add rax, r8
cmp rax, r14
ja 0x1403729d0
lea rax, [rdx + rbx]
cmp rax, qword [rsp + 0xb8]
jbe 0x140372a47
mov qword [rsp + 0xb8], rax
mov r9, rdx
mov qword [rsp + 0x60], rbx
mov r8, r12
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x50], r12
jmp 0x140372a56
bsf rbx, rcx
mov dword [rsp + 0x84], 0
shr rbx, 3
sub rbx, rsi
add rbx, rax
jmp 0x1403729ae
mov rdi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x68]
add r12, 8
cmp r12, rdi
jb 0x140372825
mov r15, qword [rsp + 0x88]
test r8, r8
je 0x140372bf1
add rbx, r9
sub rsi, r9
mov r9d, dword [rsp + 0x3c]
sub r9d, dword [r8]
mov r8, qword [rsp + 0x1c8]
mov rax, qword [r8 + 0x10]
cmp rax, qword [r8 + 0x18]
je 0x140372c76
mov rdi, qword [rsp + 0xc8]
lea rcx, [rax + rax*2]
mov rax, qword [r8]
mov rbp, qword [rsp + 0x90]
mov r12, qword [rsp + 0x1c0]
mov dword [rax + rcx*4], r9d
mov r9d, edi
lea rdx, [rax + rcx*4]
mov eax, esi
mov dword [rdx + 8], ebx
sub eax, r14d
mov r14, qword [rsp + 0x1d0]
sub r9d, ebp
mov dword [rdx + 4], eax
mov rcx, r12
inc qword [r8 + 0x10]
lea rax, [rsp + 0x110]
mov r8d, dword [rsp + 0x30]
mov rdx, r15
movups xmm0, xmmword [r14]
mov qword [rsp + 0x20], rax
movsd xmm1, qword [r14 + 0x10]
movaps xmmword [rsp + 0x110], xmm0
movsd qword [rsp + 0x120], xmm1
call fcn.140372d00
add rsi, rbx
cmp rsi, qword [rsp + 0xd0]
ja 0x140372bd8
movups xmm3, xmmword [r14]
lea rbx, [rdi + 1]
movsd xmm4, qword [r14 + 0x10]
cmp rbx, rsi
jae 0x140372bd4
mov r13d, dword [rsp + 0x30]
movdqa xmm0, xmm3
psrldq xmm0, 0xc
movd eax, xmm0
dec eax
mov r14d, eax
not r14
lea rdi, [rax + rbx]
movzx eax, byte [rdi + r14]
mov r9d, ebx
add rax, 0xa
movaps xmmword [rsp + 0x130], xmm3
imul rax, qword [r12 + 0x30]
movsd qword [rsp + 0x140], xmm4
sub r9d, ebp
mov r8d, r13d
sub r15, rax
mov rcx, r12
movabs rax, 0xcf1bbcdcb7a56463
imul r15, rax
movzx eax, byte [rdi]
add rax, 0xa
add r15, rax
lea rax, [rsp + 0x130]
mov rdx, r15
mov qword [rsp + 0x20], rax
call fcn.140372d00
inc rbx
lea rdi, [rdi + 1]
cmp rbx, rsi
jb 0x140372b64
mov r13, qword [rsp + 0xe0]
lea rdi, [rsi - 1]
mov r10, qword [rsp + 0x68]
mov r14, rsi
mov r11, qword [rsp + 0x98]
mov edx, dword [rsp + 0x1e0]
jmp 0x140372c63
mov rbp, qword [rsp + 0x90]
mov rax, qword [rsp + 0x1d0]
mov rdx, r15
mov r12, qword [rsp + 0x1c0]
mov r9d, dword [rsp + 0x3c]
mov rcx, r12
mov r8d, dword [rsp + 0x30]
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
lea rax, [rsp + 0x150]
movaps xmmword [rsp + 0x150], xmm0
movsd qword [rsp + 0x160], xmm1
mov qword [rsp + 0x20], rax
call fcn.140372d00
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x98]
mov edx, dword [rsp + 0x1e0]
mov rdi, qword [rsp + 0xc8]
inc rsi
cmp rsi, qword [rsp + 0xd0]
ja 0x140372c7f
mov ecx, dword [rsp + 0x40]
jmp 0x1403726e1
mov rax, 0xffffffffffffffba
jmp 0x140372c85
sub r13, r14
mov rax, r13
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret