Function at 0x6131c0
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0xf0]
cmp r12, qword [r14 + 0x10]
jbe 0x613709
sub rsp, 0x170
mov qword [rsp + 0x168], rbp
lea rbp, [rsp + 0x168]
mov byte [rsp + 0x178], al
mov byte [rsp + 0x179], bl
mov qword [rsp + 0x188], rdi
mov qword [rsp + 0x180], rcx
lea rax, [0x00662f80]
xor ebx, ebx
mov rcx, rdi
call fcn.0044a760
mov qword [rsp + 0x98], rax
movups xmmword [rsp + 0xa0], xmm15
movups xmmword [rsp + 0xb0], xmm15
movups xmmword [rsp + 0xc0], xmm15
mov rbx, qword [rsp + 0x188]
cmp rbx, 8
jg 0x613283
movups xmmword [rsp + 0xd0], xmm15
lea rdi, [rsp + 0xd8]
lea rdi, [rdi - 0x30]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466119
mov rbp, qword [rbp]
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0xb0], rdx
lea rax, [0x0066e460]
lea rcx, [rsp + 0xa0]
call fcn.0040e480
mov qword [rsp + 0x90], rax
xor ecx, ecx
xor edx, edx
mov rbx, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x98]
xor edi, edi
mov r8, rbx
jmp 0x6132d6
mov rdi, rbx
mov r8, rcx
mov rcx, rdx
mov rdx, rsi
mov rbx, qword [rsp + 0x68]
mov rsi, rax
mov rax, qword [rsp + 0x90]
test rbx, rbx
jle 0x61361b
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x58], rcx
lea r9, [rbx - 1]
mov qword [rsp + 0x68], r9
mov r10, r9
shl r9, 4
mov r11, qword [rsp + 0x180]
mov rbx, qword [r11 + r9 + 8]
mov qword [rsp + 0x60], rbx
mov r9, qword [r11 + r9]
mov qword [rsp + 0x88], r9
movzx r12d, byte [rsp + 0x179]
test r12b, r12b
je 0x61333c
xor r13d, r13d
jmp 0x6133b4
mov qword [rsp], r9
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0
call fcn.004031c0
xorps xmm15, xmm15
mov r14, qword [0x0097c110]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
setne al
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x180]
movzx r12d, byte [rsp + 0x179]
mov r13d, eax
mov rax, qword [rsp + 0x90]
test r13b, r13b
je 0x6133f6
nop
lea rax, [0x00679800]
call fcn.0040d8c0
mov qword [rax + 8], 0x27
lea rcx, [0x006bc970]
mov qword [rax], rcx
lea rdx, [0x00726fe0]
mov rsi, rax
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x78]
jmp 0x6132ba
mov rax, r9
lea rcx, [0x006ae55d]
mov edi, 1
call fcn.005156c0
test rax, rax
jne 0x613452
mov rbx, qword [rsp + 0x60]
cmp rbx, 1
jb 0x6136fc
lea rdx, [rbx - 1]
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and edx, 1
mov r8, qword [rsp + 0x88]
lea rax, [r8 + rdx]
lea rcx, [0x006ae55d]
mov edi, 1
mov rbx, rsi
call fcn.005156c0
inc rax
test rax, rax
jge 0x6134f2
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x6134d1
mov rbx, qword [rsp + 0x48]
inc rbx
mov rcx, qword [rsp + 0x50]
cmp rcx, rbx
jb 0x61347e
mov rax, qword [rsp + 0x78]
jmp 0x613499
mov rax, qword [rsp + 0x78]
mov edi, 1
lea rsi, [0x00662f80]
call fcn.0044a840
mov rdx, qword [rsp + 0x60]
lea r8, [rbx - 1]
shl r8, 4
mov qword [rax + r8 + 8], rdx
lea rdi, [rax + r8]
cmp dword [0x0097c370], 0
jne 0x6134c2
mov rdx, qword [rsp + 0x88]
mov qword [rax + r8], rdx
nop
jmp 0x6134e0
mov rdx, qword [rsp + 0x88]
call fcn.00465ae0
jmp 0x6134e0
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x80]
jmp 0x6132ba
mov rdx, qword [rsp + 0x60]
nop word [rax + rax]
cmp rax, rdx
ja 0x6136f4
movzx esi, byte [rsp + 0x178]
test sil, sil
jne 0x613522
mov rcx, qword [rsp + 0x88]
nop
jmp 0x613538
mov rbx, rax
mov rax, qword [rsp + 0x88]
call fcn.005143e0
mov rcx, rax
mov rax, rbx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x70], rcx
mov rbx, qword [rsp + 0x90]
mov rdi, rax
lea rax, [0x0066e460]
call fcn.00412920
cmp byte [rax], 0
je 0x61357f
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x78]
jmp 0x6132ba
lea rax, [0x0066e460]
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x40]
call fcn.00413140
mov byte [rax], 1
mov rbx, qword [rsp + 0x48]
inc rbx
mov rcx, qword [rsp + 0x50]
cmp rcx, rbx
jb 0x6135b9
mov rax, qword [rsp + 0x78]
jmp 0x6135cf
mov rax, qword [rsp + 0x78]
mov edi, 1
lea rsi, [0x00662f80]
call fcn.0044a840
lea rdx, [rbx - 1]
shl rdx, 4
mov r8, qword [rsp + 0x60]
mov qword [rax + rdx + 8], r8
lea rdi, [rax + rdx]
cmp dword [0x0097c370], 0
jne 0x6135fc
mov r8, qword [rsp + 0x88]
mov qword [rax + rdx], r8
jmp 0x613609
mov rdx, qword [rsp + 0x88]
call fcn.00465ae0
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x80]
jmp 0x6132ba
xor eax, eax
jmp 0x613629
lea rax, [r11 + 1]
mov rdx, rbx
mov rdi, r9
mov rbx, rdi
shr rdi, 1
cmp rax, rdi
jge 0x6136c5
mov r9, rbx
sub rbx, rax
nop
cmp r9, rax
jbe 0x6136ec
lea r10, [rbx - 1]
mov r11, rax
shl rax, 4
mov r12, qword [rsi + rax]
mov r13, qword [rsi + rax + 8]
lea rdi, [rsi + rax]
cmp r9, r10
jbe 0x6136e1
shl r10, 4
mov r15, qword [rsi + r10]
mov rbx, rdx
mov rdx, qword [rsi + r10 + 8]
mov qword [rsi + rax + 8], rdx
lea rdx, [rsi + r10]
cmp dword [0x0097c370], 0
jne 0x61368e
mov qword [rsi + rax], r15
jmp 0x61369c
mov rax, r8
mov r8, r15
call fcn.00465b40
mov r8, rax
mov qword [rsi + r10 + 8], r13
cmp dword [0x0097c370], 0
jne 0x6136b3
mov qword [rsi + r10], r12
jmp 0x61361f
mov rdi, rdx
mov rdx, r12
call fcn.00465ae0
nop
jmp 0x61361f
mov rax, rsi
mov rdi, rcx
mov rsi, rdx
mov rcx, r8
mov rbp, qword [rsp + 0x168]
add rsp, 0x170
ret
mov rax, r10
mov rcx, r9
call fcn.00465e60
mov rcx, r9
call fcn.00465e60
mov rcx, rax
call fcn.00465ea0
mov eax, 1
xor ecx, ecx
call fcn.00465f20
nop
mov byte [rsp + 8], al
mov byte [rsp + 9], bl
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
call fcn.00463800
movzx eax, byte [rsp + 8]
movzx ebx, byte [rsp + 9]
mov rcx, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
nop
jmp fcn.006131c0