Function at 0x4f7660
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x20]
cmp r12, qword [r14 + 0x10]
jbe 0x4f7b3c
sub rsp, 0xa0
mov qword [rsp + 0x98], rbp
lea rbp, [rsp + 0x98]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0x100], r9
mov rbx, qword [rsp + 0xc8]
cmp rsi, rbx
jne 0x4f7b28
cmp r10, rbx
jne 0x4f7b28
mov r10, qword [rsp + 0xb0]
cmp r10, rbx
jne 0x4f7b28
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x100], r9
mov qword [rsp + 0xe8], rdi
mov r11, rbx
shl rbx, 1
cmp rcx, rbx
jl 0x4f7700
jae 0x4f7754
jmp 0x4f7b1d
cmp rbx, 1
jne 0x4f7726
lea rax, [0x005540a0]
mov ebx, 1
mov rcx, rbx
call fcn.00448d60
mov ecx, 1
mov ebx, 1
jmp 0x4f7754
mov qword [rsp + 0x80], rbx
lea rcx, [r11 + r11]
lea rcx, [rcx + 4]
mov qword [rsp + 0x58], rcx
lea rax, [0x005540a0]
call fcn.00448d60
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x88], rax
call fcn.004f6c20
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x88]
mov r9, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x58]
xor ebx, ebx
xor r10d, r10d
jmp 0x4f77ee
mov r11, qword [rsp + 0x60]
lea rbx, [r11 + 1]
mov rdx, qword [rsp + 0xf8]
mov r11, qword [rsp + 0x100]
mov rdi, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xf0]
mov r9, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x58]
mov rsi, r11
mov r8, r12
mov r10, rax
mov rax, qword [rsp + 0x88]
cmp rdi, rbx
jle 0x4f7980
mov r11, qword [rsi + rbx*8]
lea r12, [rbx + rdi]
nop
cmp rcx, r12
jb 0x4f7b12
cmp rbx, r12
ja 0x4f7b07
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x70], r10
mov rsi, rbx
shl rbx, 3
sub rcx, rsi
mov qword [rsp + 0x78], rcx
mov r12, rcx
neg rcx
sar rcx, 0x3f
and rbx, rcx
lea rcx, [rax + rbx]
mov qword [rsp + 0x90], rcx
mov qword [rsp], rcx
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], r12
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r11
call fcn.00501040
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
jae 0x4f7afc
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + rcx*8]
mov rbx, qword [rsp + 0x90]
mov qword [rsp], rbx
mov rbx, qword [rsp + 0xc8]
mov qword [rsp + 8], rbx
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x10], rsi
mov rsi, qword [rsp + 0xa8]
mov qword [rsp + 0x18], rsi
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x20], rdi
mov r8, qword [rsp + 0xb8]
mov qword [rsp + 0x28], r8
mov r9, qword [rsp + 0xc0]
imul rdx, r9
mov qword [rsp + 0x30], rdx
call fcn.00501040
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
add rdx, rcx
lea rbx, [rdx + rax]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x80]
cmp rsi, rdi
jbe 0x4f7af1
mov r8, qword [rsp + 0x88]
mov qword [r8 + rdi*8], rbx
nop dword [rax]
cmp rcx, rdx
ja 0x4f796a
cmp rax, rbx
jbe 0x4f7974
mov eax, 1
jmp 0x4f77a7
xor eax, eax
jmp 0x4f77a7
test r10, r10
je 0x4f7a40
cmp rdi, rcx
ja 0x4f7ae6
mov rdx, qword [rsp + 0x50]
nop word [rax + rax]
cmp rdi, rdx
ja 0x4f7adb
mov qword [rsp], rax
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rcx
sub rcx, rdi
mov rsi, rcx
neg rcx
mov r8, rdi
shl rdi, 3
sar rcx, 0x3f
and rcx, rdi
add rcx, rax
mov qword [rsp + 0x18], rcx
sub rdx, r8
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rsi
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x40], rcx
call fcn.00500cc0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0xc8]
jmp 0x4f7aa1
cmp rdi, rcx
ja 0x4f7ad0
mov rsi, qword [rsp + 0x50]
cmp rdi, rsi
ja 0x4f7ac5
sub rsi, rdi
cmp rdi, rsi
mov rbx, rdi
cmovg rdi, rsi
mov rsi, rbx
sub rbx, rcx
mov r8, rsi
shl rsi, 3
sar rbx, 0x3f
and rbx, rsi
lea rsi, [rax + rbx]
test rbx, rbx
je 0x4f7aa1
shl rdi, 3
mov rbx, rsi
mov rcx, rdi
call fcn.00462ec0
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0xc8]
cmp r8, rcx
ja 0x4f7ab9
mov rbx, r8
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov rdx, rcx
mov rcx, r8
nop
call fcn.004625c0
mov rax, rdi
mov rcx, rsi
call fcn.00462600
mov rdx, rcx
mov rcx, rdi
call fcn.004625c0
mov rax, rdi
mov rcx, rdx
call fcn.00462600
mov rdx, rcx
mov rcx, rdi
call fcn.004625c0
mov rax, rdi
mov rcx, rsi
call fcn.00462540
mov rax, rcx
mov rcx, rdx
call fcn.00462540
mov rax, rbx
mov rcx, r12
call fcn.00462600
mov rdx, rcx
mov rcx, r12
call fcn.004625c0
mov rdx, rcx
mov rcx, rbx
call fcn.004625c0
lea rax, [0x00554620]
lea rbx, [0x005c0050]
call fcn.004351a0
nop
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x70], r11
call fcn.0045fe40
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
nop dword [rax + rax]
jmp fcn.004f7660