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

Disassembly:
lea r12, [rsp - 0x68]
cmp r12, qword [r14 + 0x10]
jbe 0x641da6
sub rsp, 0xe8
mov qword [rsp + 0xe0], rbp
lea rbp, [rsp + 0xe0]
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0xf0], rax
mov eax, 1
nop dword [rax + rax]
call fcn.00641de0
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x6415ec
lea rax, [0x006ae218]
mov ebx, 0x14
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.004b6720
mov rax, qword [rsp + 0x40]
mov rdx, rax
nop
mov r8d, dword [rax + 0x3c]
add r8, rdx
mov qword [rsp + 0x80], r8
nop
test r8, r8
jne 0x64161d
lea rax, [0x006ac120]
mov ebx, 0x10
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.004b6720
mov eax, 0x32
xor ebx, ebx
call fcn.0062ac60
mov rcx, qword [rsp + 0x80]
mov ecx, dword [rcx + 0x50]
mov dword [rsp + 0x2c], ecx
test ecx, ecx
jne 0x641654
lea rax, [0x006ad8c4]
mov ebx, 0x13
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.004b6720
nop
lea rax, [0x00683560]
nop dword [rax]
call fcn.0040d780
cmp dword [0x00900190], 0
jne 0x641678
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x641685
mov rdi, rax
mov rcx, qword [rsp + 0x40]
call fcn.00464c20
mov qword [rsp + 0x58], rax
mov ecx, dword [rsp + 0x2c]
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov rdx, qword [rax]
mov qword [rsp + 0x60], rdx
lea rax, [0x0068b060]
call fcn.0040d780
cmp dword [0x00900190], 0
jne 0x6416bd
mov rdx, qword [rsp + 0x58]
mov qword [rax], rdx
jmp 0x6416ca
mov rdi, rax
mov rdx, qword [rsp + 0x58]
call fcn.00464c40
mov rdx, qword [rsp + 0x40]
mov qword [rax + 8], rdx
mov edx, dword [rsp + 0x2c]
mov qword [rax + 0x18], rdx
mov qword [rax + 0x20], rdx
cmp dword [0x00900190], 0
jne 0x6416f3
mov rsi, qword [rsp + 0x60]
mov qword [rax + 0x10], rsi
jmp 0x641705
lea rdi, [rax + 0x10]
mov rsi, qword [rsp + 0x60]
nop dword [rax]
call fcn.00464c80
mov qword [rax + 0x28], rdx
nop
mov rbx, rax
mov ecx, 1
lea rax, [0x0072e400]
call fcn.0063b9e0
mov qword [rsp + 0x88], rax
test rbx, rbx
je 0x641775
movups xmmword [rsp + 0xa0], xmm15
je 0x64173a
mov rbx, qword [rbx + 8]
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], rcx
mov rbx, qword [0x008a8c50]
lea rax, [0x0072e780]
lea rcx, [rsp + 0xa0]
mov edi, 1
mov rsi, rdi
call fcn.004b9840
mov rax, qword [rsp + 0x88]
call fcn.0063ae80
test rbx, rbx
je 0x641788
mov qword [rsp + 0x30], rbx
xor ecx, ecx
jmp 0x6417cb
lea rax, [0x00674280]
call fcn.0040d780
mov qword [rax + 8], 0x12
lea rcx, [0x006acb44]
mov qword [rax], rcx
lea rbx, [0x0072e3c0]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov rax, qword [rsp + 0x78]
add rax, 0x30
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsp + 0xd0], xmm0
mov rdx, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
mov rax, rdx
call fcn.0063fb80
call fcn.004d93a0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], rbx
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
call fcn.004d93a0
mov rcx, qword [rsp + 0x48]
cmp rbx, rcx
je 0x641842
xor eax, eax
jmp 0x64184f
mov rbx, rax
mov rax, qword [rsp + 0x70]
call fcn.00402da0
test al, al
je 0x64185a
mov eax, 1
jmp 0x6418b6
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
call fcn.0063fb80
call fcn.004d93a0
call fcn.004d93a0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], rbx
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
call fcn.004d93a0
mov rcx, qword [rsp + 0x48]
nop dword [rax]
cmp rbx, rcx
je 0x6418a9
xor eax, eax
jmp 0x6418b6
mov rbx, rax
mov rax, qword [rsp + 0x70]
call fcn.00402da0
test al, al
jne 0x6418d5
mov rcx, qword [rsp + 0x50]
inc rcx
mov rdx, qword [rsp + 0x30]
cmp rdx, rcx
jg 0x6417c2
jmp 0x641788
mov ecx, dword [rsp + 0xc8]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0xc8]
mov rbx, qword [rax + 0xd0]
xor esi, esi
jmp 0x6418f9
inc rsi
cmp rsi, rbx
jge 0x64191d
mov rdi, qword [rdx + rsi*8]
mov r8d, dword [rdi + 0x1c]
cmp r8, rcx
jae 0x6418f6
mov r9d, dword [rdi + 0x18]
add r9d, r8d
cmp rcx, r9
jae 0x6418f6
sub ecx, r8d
add ecx, dword [rdi + 0x24]
mov dword [rsp + 0x28], ecx
call fcn.0063e600
test rdi, rdi
je 0x641983
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x68], rax
movups xmmword [rsp + 0x90], xmm15
nop
je 0x641946
mov rdi, qword [rdi + 8]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rsi
mov rbx, qword [0x008a8c50]
lea rax, [0x0072e780]
lea rcx, [rsp + 0x90]
mov edi, 1
mov rsi, rdi
call fcn.004b9840
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x38]
mov esi, dword [rsp + 0x28]
lea edi, [rsi + 0xa]
cmp rcx, rdi
jb 0x641d99
cmp rsi, rdi
ja 0x641d90
mov edx, esi
sub rsi, rcx
sar rsi, 0x3f
and rsi, rdx
sub rdi, rdx
lea rdx, [rax + rsi]
test rdi, rdi
jbe 0x641d86
movzx r8d, byte [rax + rsi]
nop dword [rax]
cmp r8b, 0x4c
jne 0x641a64
cmp rdi, 1
jbe 0x641d79
movzx r8d, byte [rax + rsi + 1]
nop word [rax + rax]
cmp r8b, 0x8b
jne 0x641a64
cmp rdi, 2
jbe 0x641d6c
movzx r8d, byte [rax + rsi + 2]
cmp r8b, 0xd1
jne 0x641a64
nop dword [rax]
cmp rdi, 3
jbe 0x641d5f
movzx r8d, byte [rax + rsi + 3]
cmp r8b, 0xb8
jne 0x641a64
nop word [rax + rax]
nop
cmp rdi, 6
jbe 0x641d52
movzx r8d, byte [rax + rsi + 6]
test r8b, r8b
jne 0x641a64
cmp rdi, 7
jbe 0x641d45
movzx r8d, byte [rax + rsi + 7]
test r8b, r8b
jne 0x641a64
nop
movzx eax, word [rax + rsi + 4]
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov ecx, 1
jmp 0x641a72
lea rcx, [r8 + 1]
mov rdx, r9
cmp rcx, 0x1f4
ja 0x641c83
mov r8, rcx
shl rcx, 5
movzx r9d, byte [rdx + rcx]
cmp r9b, 0x4c
jne 0x641b49
cmp rdi, 1
jbe 0x641d33
lea r9, [rax + rsi]
lea r9, [r9 + 1]
movzx r9d, byte [rcx + r9]
cmp r9b, 0x8b
jne 0x641b49
nop word [rax + rax]
nop
cmp rdi, 2
jbe 0x641d26
lea r9, [rax + rsi]
lea r9, [r9 + 2]
movzx r9d, byte [rcx + r9]
cmp r9b, 0xd1
jne 0x641b49
nop dword [rax]
cmp rdi, 3
jbe 0x641d19
lea r9, [rax + rsi]
lea r9, [r9 + 3]
movzx r9d, byte [rcx + r9]
cmp r9b, 0xb8
jne 0x641b49
nop dword [rax]
cmp rdi, 6
jbe 0x641d0c
lea r9, [rax + rsi]
lea r9, [r9 + 6]
movzx r9d, byte [rcx + r9]
test r9b, r9b
jne 0x641b49
nop dword [rax]
cmp rdi, 7
jbe 0x641cff
lea r9, [rax + rsi]
lea r9, [r9 + 7]
movzx r9d, byte [rcx + r9]
nop word [rax + rax]
test r9b, r9b
je 0x641c02
mov r9, rdx
sub rdx, rcx
cmp byte [rdx], 0x4c
jne 0x641a6b
nop dword [rax + rax]
cmp rdi, 1
jbe 0x641cf2
lea rdx, [rax + rsi]
lea rdx, [rdx + 1]
sub rdx, rcx
cmp byte [rdx], 0x8b
jne 0x641a6b
nop
cmp rdi, 2
jbe 0x641ce5
lea rdx, [rax + rsi]
lea rdx, [rdx + 2]
sub rdx, rcx
cmp byte [rdx], 0xd1
jne 0x641a6b
nop
cmp rdi, 3
jbe 0x641cd7
lea rdx, [rax + rsi]
lea rdx, [rdx + 3]
sub rdx, rcx
cmp byte [rdx], 0xb8
jne 0x641a6b
nop
cmp rdi, 6
jbe 0x641cca
lea rdx, [rax + rsi]
lea rdx, [rdx + 6]
sub rdx, rcx
cmp byte [rdx], 0
jne 0x641a6b
nop
cmp rdi, 7
jbe 0x641cbd
lea rdx, [rax + rsi]
lea rdx, [rdx + 7]
sub rdx, rcx
cmp byte [rdx], 0
jne 0x641a6b
nop
jmp 0x641c41
lea rdx, [rax + rsi]
lea rdx, [rdx + 4]
movzx edx, byte [rcx + rdx]
mov byte [rax + rsi + 4], dl
lea rdi, [rax + rsi]
lea rdi, [rdi + 5]
movzx edi, byte [rcx + rdi]
mov byte [rax + rsi + 5], dil
sub edx, r8d
shl edi, 8
or edx, edi
mov eax, edx
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
lea rdx, [rax + rsi]
lea rdx, [rdx + 4]
sub rdx, rcx
movzx edx, byte [rdx]
mov byte [rax + rsi + 4], dl
lea rdi, [rax + rsi]
lea rdi, [rdi + 5]
sub rdi, rcx
movzx edi, byte [rdi]
mov byte [rax + rsi + 5], dil
lea eax, [rdx + r8]
shl edi, 8
or eax, edi
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
lea rax, [0x00674280]
call fcn.0040d780
mov qword [rax + 8], 0x12
lea rcx, [0x006acb44]
mov qword [rax], rcx
lea rbx, [0x0072e3c0]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov eax, 7
mov rcx, rax
call fcn.00464fc0
mov eax, 6
mov rcx, rdi
call fcn.00464fc0
mov eax, 3
mov rcx, rax
nop
call fcn.00464fc0
mov eax, 2
mov rcx, rax
call fcn.00464fc0
mov eax, 1
mov rcx, rax
call fcn.00464fc0
mov eax, 7
mov rcx, rax
call fcn.00464fc0
mov eax, 6
mov rcx, rdi
call fcn.00464fc0
mov eax, 3
mov rcx, rax
call fcn.00464fc0
mov eax, 2
mov rcx, rax
call fcn.00464fc0
mov eax, 1
mov rcx, rax
nop dword [rax + rax]
call fcn.00464fc0
mov eax, 7
mov rcx, rax
call fcn.00464fc0
mov eax, 6
mov rcx, rdi
call fcn.00464fc0
mov eax, 3
mov rcx, rax
call fcn.00464fc0
mov eax, 2
mov rcx, rax
call fcn.00464fc0
mov eax, 1
mov rcx, rax
call fcn.00464fc0
xor eax, eax
mov rcx, rax
call fcn.00464fc0
mov eax, esi
mov ecx, edi
call fcn.00465080
mov rdx, rcx
mov ecx, edi
nop
call fcn.00465040
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004628e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp fcn.00641580