Function at 0x4f0540
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0xc0]
cmp r12, qword [r14 + 0x10]
jbe 0x4f0d11
sub rsp, 0x140
mov qword [rsp + 0x138], rbp
lea rbp, [rsp + 0x138]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x178], r9
bt r10d, 0
jb 0x4f0597
cmp qword [0x0070a730], r10
jg 0x4f0597
cmp r10, 2
jge 0x4f05ac
call fcn.004ef9a0
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rdx, r10
sar r10, 1
cmp rsi, r10
jb 0x4f0d05
mov r12, r8
sub r8, r10
mov qword [rsp + 0x78], r8
sub rsi, r10
mov r13, r10
shl r10, 3
neg r8
sar r8, 0x3f
and r8, r10
lea r15, [rdi + r8]
nop
cmp rdx, r13
jb 0x4f0cfa
mov qword [rsp + 0xe0], r13
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x100], r15
mov qword [rsp + 0xd8], r10
mov qword [rsp + 0x130], rdi
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x188], r11
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0x120], r9
mov qword [rsp + 0xc8], r12
mov rsi, r13
mov r8, r12
mov r10, rsi
call fcn.004f0540
mov r11, qword [rsp + 0x188]
mov rdx, qword [rsp + 0xe0]
sub r11, rdx
mov r10, qword [rsp + 0xd0]
mov rax, r10
sub r10, rdx
mov r13, r11
neg r11
sar r11, 0x3f
mov r15, qword [rsp + 0xd8]
and r11, r15
mov r15, qword [rsp + 0x120]
lea r9, [r15 + r11]
mov rbx, qword [rsp + 0x150]
nop
cmp rax, rbx
ja 0x4f0cf2
mov qword [rsp + 0x60], r10
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xf0], r9
mov rcx, qword [rsp + 0x158]
sub rcx, rax
sub rbx, rax
shl rax, 3
mov qword [rsp + 0xb8], rax
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and rcx, rax
mov r12, qword [rsp + 0x128]
add r12, rcx
mov rcx, rsi
mov rsi, qword [rsp + 0x70]
mov r11, r13
mov rax, r12
mov rdi, qword [rsp + 0x100]
mov r8, qword [rsp + 0x78]
call fcn.004f0540
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xe0]
lea rcx, [rdx + rax*2]
mov r12, qword [rsp + 0x158]
cmp r12, rcx
jb 0x4f0cea
mov rbx, rax
shl rax, 1
nop dword [rax + rax]
cmp rcx, rax
jb 0x4f0ce5
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xa8], rax
sub r12, rax
mov qword [rsp + 0x68], r12
mov rsi, r12
neg r12
shl rbx, 4
sar r12, 0x3f
and rbx, r12
mov r8, qword [rsp + 0x128]
add rbx, r8
mov qword [rsp + 0xf8], rbx
mov qword [rsp], rbx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rsi
mov r9, qword [rsp + 0x100]
mov qword [rsp + 0x18], r9
mov r10, qword [rsp + 0x70]
mov qword [rsp + 0x20], r10
mov r11, qword [rsp + 0x78]
mov qword [rsp + 0x28], r11
mov r12, qword [rsp + 0x130]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], rdx
mov r13, qword [rsp + 0xc8]
mov qword [rsp + 0x40], r13
call fcn.004fb320
xorps xmm15, xmm15
mov r14, qword [0x0077e910]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x48], 0
jne 0x4f07fc
mov eax, 1
jmp 0x4f087e
mov rax, qword [rsp + 0xf8]
mov qword [rsp], rax
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x10], rdx
mov rbx, qword [rsp + 0x130]
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rcx
mov rbx, qword [rsp + 0xc8]
mov qword [rsp + 0x28], rbx
mov rbx, qword [rsp + 0x100]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x38], rbx
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0x40], rbx
nop
call fcn.004fb320
xorps xmm15, xmm15
mov r14, qword [0x0077e910]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0xd0]
lea rcx, [rbx + rbx*2]
mov rdx, qword [rsp + 0x158]
cmp rdx, rcx
jb 0x4f0ce0
mov rsi, qword [rsp + 0xb0]
cmp rcx, rsi
jb 0x4f0cd6
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x80], rax
sub rdx, rsi
mov qword [rsp + 0x58], rdx
mov rbx, rdx
neg rdx
mov rdi, rsi
shl rsi, 3
sar rdx, 0x3f
and rsi, rdx
mov rdx, qword [rsp + 0x128]
add rsi, rdx
mov qword [rsp + 0xe8], rsi
mov qword [rsp], rsi
sub rcx, rdi
mov qword [rsp + 0x50], rcx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov rdi, qword [rsp + 0x120]
mov qword [rsp + 0x18], rdi
mov r9, qword [rsp + 0xe0]
mov qword [rsp + 0x20], r9
mov r10, qword [rsp + 0x188]
mov qword [rsp + 0x28], r10
mov r11, qword [rsp + 0xf0]
mov qword [rsp + 0x30], r11
mov r12, qword [rsp + 0x60]
mov qword [rsp + 0x38], r12
mov r13, qword [rsp + 0xc0]
mov qword [rsp + 0x40], r13
call fcn.004fb320
xorps xmm15, xmm15
mov r14, qword [0x0077e910]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x48], 0
jne 0x4f0978
mov rax, qword [rsp + 0x80]
jmp 0x4f0a05
mov rax, qword [rsp + 0xe8]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x10], rdx
mov rbx, qword [rsp + 0xf0]
mov qword [rsp + 0x18], rbx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rbx
mov rbx, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rbx
mov rbx, qword [rsp + 0x120]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsp + 0xe0]
mov qword [rsp + 0x38], rbx
mov rsi, qword [rsp + 0x188]
mov qword [rsp + 0x40], rsi
call fcn.004fb320
xorps xmm15, xmm15
mov r14, qword [0x0077e910]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x80]
neg rax
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0xc8]
cmp rcx, rdx
jb 0x4f0cce
mov qword [rsp + 0x80], rax
mov r12, qword [rsp + 0x158]
sub r12, rdx
mov qword [rsp + 0xa0], r12
mov rbx, rcx
sub rbx, rdx
mov qword [rsp + 0x98], rbx
mov r15, r12
neg r12
shl rdx, 3
sar r12, 0x3f
and r12, rdx
mov rdx, qword [rsp + 0x128]
lea rax, [rdx + r12]
mov qword [rsp + 0x110], rax
mov rdi, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0xe0]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0xe8]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rcx, r15
call fcn.004f0540
mov rax, qword [rsp + 0xd0]
mov r9, rax
shl rax, 2
mov rcx, qword [rsp + 0x150]
cmp rcx, rax
jb 0x4f0cc9
mov rsi, rcx
sub rsi, rax
mov qword [rsp + 0x88], rsi
mov rdx, qword [rsp + 0xa8]
cmp rdx, rsi
mov r10, rsi
cmovl rsi, rdx
mov r8, qword [rsp + 0x158]
mov rdx, r8
sub r8, rax
mov qword [rsp + 0x90], r8
mov r11, r8
neg r8
mov r12, r9
shl r9, 5
sar r8, 0x3f
and r8, r9
mov rbx, qword [rsp + 0x128]
lea rdi, [rbx + r8]
mov qword [rsp + 0x108], rdi
test r8, r8
je 0x4f0b65
shl rsi, 3
mov rax, rdi
mov rcx, rsi
call fcn.00464b80
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x108]
mov r10, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
mov r12, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xe0]
sub rdx, r13
mov qword [rsp + 0xe0], rdx
mov r15, rdx
neg rdx
sar rdx, 0x3f
mov rax, r10
mov r10, qword [rsp + 0xd8]
and rdx, r10
add rdx, rbx
mov qword [rsp + 0x118], rdx
sub rcx, r13
mov qword [rsp + 0xd8], rcx
mov rbx, rcx
mov rcx, r15
mov rsi, rax
mov r8, r11
mov r9, r12
mov rax, rdx
call fcn.004f01c0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
ja 0x4f0cc4
mov r8, qword [rsp + 0x90]
sub r8, rax
sub rcx, rax
mov rdx, r8
neg r8
sar r8, 0x3f
mov r10, qword [rsp + 0xb8]
and r8, r10
mov r10, qword [rsp + 0x108]
lea rdi, [r10 + r8]
mov rbx, qword [rsp + 0xd8]
mov rsi, rcx
mov r8, rdx
mov r9, rax
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xe0]
call fcn.004f01c0
mov rdx, qword [rsp + 0x80]
test rdx, rdx
jle 0x4f0c77
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xd0]
call fcn.004f01c0
jmp 0x4f0cb4
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xd0]
call fcn.004f0380
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
call fcn.004642a0
call fcn.004642a0
mov rax, rdx
call fcn.004642a0
mov rax, rsi
call fcn.004642a0
nop
call fcn.00464260
call fcn.004642a0
mov rdx, r12
call fcn.00464260
mov rcx, rbx
call fcn.004642a0
mov rax, r13
mov rcx, rdx
call fcn.004642a0
mov rax, r10
mov rcx, rsi
call fcn.004642a0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], r11
nop
call fcn.00461b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
jmp fcn.004f0540