Function at 0x528220
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x20]
cmp r12, qword [r14 + 0x10]
jbe 0x528686
push rbp
mov rbp, rsp
sub rsp, 0x98
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0x100], r9
mov rdx, qword [rsp + 0xc8]
nop word [rax + rax]
cmp rsi, rdx
jne 0x528670
cmp r10, rdx
jne 0x528670
mov r10, qword [rsp + 0xb0]
nop word [rax + rax]
cmp r10, rdx
jne 0x528670
mov qword [rsp + 0x100], r9
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xe8], rdi
mov rdi, rdx
shl rdi, 1
call fcn.005275c0
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x78], rcx
test rbx, rbx
je 0x5282f2
mov rcx, rbx
shl rcx, 3
mov rbx, rcx
call fcn.0047aa40
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x100]
mov r10, qword [rsp + 0xe8]
xor edx, edx
xor r11d, r11d
nop
jmp 0x528373
mov rdx, qword [rsp + 0x50]
inc rdx
mov r12, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x100]
mov r10, qword [rsp + 0xe8]
mov r13, qword [rsp + 0x78]
mov rcx, r13
mov rbx, rsi
mov rsi, r12
mov r8, qword [rsp + 0xc8]
mov r11, rax
mov rax, qword [rsp + 0x90]
cmp r8, rdx
jle 0x528500
lea r12, [rdx + r8]
mov r13, qword [r9 + rdx*8]
cmp rcx, r12
jb 0x528665
cmp rdx, r12
ja 0x528658
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x60], r11
mov rbx, rdx
shl rdx, 3
sub rcx, rbx
mov qword [rsp + 0x68], rcx
mov r11, rcx
neg rcx
sar rcx, 0x3f
and rcx, rdx
add rcx, rax
mov qword [rsp + 0x88], rcx
mov qword [rsp], rcx
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], r11
mov qword [rsp + 0x18], r10
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], r13
call fcn.00532700
xorps xmm15, xmm15
mov r14, qword [0x008fbc98]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x50]
cmp rcx, rax
jbe 0x528653
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x58], rcx
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rdx + rax*8]
mov rsi, qword [rsp + 0x88]
mov qword [rsp], rsi
mov rsi, qword [rsp + 0xc8]
mov qword [rsp + 8], rsi
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x10], rdi
mov rdi, qword [rsp + 0xa8]
mov qword [rsp + 0x18], rdi
mov r8, qword [rsp + 0xb0]
mov qword [rsp + 0x20], r8
mov r9, qword [rsp + 0xb8]
mov qword [rsp + 0x28], r9
mov r10, qword [rsp + 0xc0]
imul rbx, r10
mov qword [rsp + 0x30], rbx
call fcn.00532700
xorps xmm15, xmm15
mov r14, qword [0x008fbc98]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
add rdx, rcx
lea rbx, [rdx + rax]
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x70]
cmp rsi, rdi
jbe 0x528648
mov r8, qword [rsp + 0x90]
mov qword [r8 + rdi*8], rbx
nop dword [rax + rax]
cmp rcx, rdx
ja 0x5284ea
cmp rax, rbx
jbe 0x5284f4
mov eax, 1
jmp 0x528322
xor eax, eax
jmp 0x528322
test r11, r11
je 0x5285a7
cmp rcx, r8
jb 0x52863d
cmp rbx, r8
jb 0x528632
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rcx
sub rcx, r8
sub rbx, r8
mov rsi, rcx
neg rcx
shl r8, 3
sar rcx, 0x3f
and rcx, r8
add rcx, rax
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rbx
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.00532380
xorps xmm15, xmm15
mov r14, qword [0x008fbc98]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x78]
mov r9, qword [rsp + 0xc8]
jmp 0x528600
cmp rcx, r8
jb 0x528627
cmp rbx, r8
jb 0x52861c
sub rbx, r8
mov rsi, r8
sub r8, rcx
mov rdi, rsi
shl rsi, 3
sar r8, 0x3f
and r8, rsi
lea rsi, [r8 + rax]
cmp rdi, rbx
mov r9, rdi
cmovg rdi, rbx
test r8, r8
je 0x528600
shl rdi, 3
mov rbx, rsi
mov rcx, rdi
call fcn.0047ad40
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x78]
mov r9, qword [rsp + 0xc8]
nop
cmp rcx, r9
jb 0x528611
mov rbx, r9
add rsp, 0x98
pop rbp
ret
mov rdx, rcx
mov rcx, r9
call fcn.0047a400
mov rax, r8
mov rcx, rbx
call fcn.0047a440
mov rdx, rcx
mov rcx, r8
call fcn.0047a400
mov rax, r8
mov rcx, rbx
call fcn.0047a440
mov rdx, rcx
mov rcx, r8
call fcn.0047a400
mov rax, rdi
mov rcx, rsi
call fcn.0047a380
call fcn.0047a380
mov rax, rdx
mov rcx, r12
nop
call fcn.0047a440
mov rdx, rcx
mov rcx, r12
call fcn.0047a400
lea rax, [0x00665980]
lea rbx, [0x0070acb0]
nop
call fcn.00471f80
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.004780a0
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]
jmp fcn.00528220