Function at 0x5515e0
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x20]
cmp r12, qword [r14 + 0x10]
jbe 0x551ac6
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 0x551aa8
cmp r10, rbx
jne 0x551aa8
mov r10, qword [rsp + 0xb0]
cmp r10, rbx
jne 0x551aa8
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0x100], r9
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0xe8], rdi
mov r11, rbx
shl rbx, 1
cmp rcx, rbx
jl 0x551680
jae 0x5516d4
jmp 0x551a9d
cmp rbx, 1
jne 0x5516a6
lea rax, [0x0062d6c0]
mov ebx, 1
mov rcx, rbx
call fcn.004406e0
mov ecx, 1
mov ebx, 1
jmp 0x5516d4
mov qword [rsp + 0x80], rbx
lea rcx, [r11 + r11]
lea rcx, [rcx + 4]
mov qword [rsp + 0x58], rcx
lea rax, [0x0062d6c0]
call fcn.004406e0
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.005505a0
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 0x55176e
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 0x551900
mov r11, qword [rsi + rbx*8]
lea r12, [rbx + rdi]
nop
cmp rcx, r12
jb 0x551a92
cmp rbx, r12
ja 0x551a87
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.0055f820
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 0x551a7c
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.0055f820
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 0x551a71
mov r8, qword [rsp + 0x88]
mov qword [r8 + rdi*8], rbx
nop dword [rax]
cmp rcx, rdx
ja 0x5518ea
cmp rax, rbx
jbe 0x5518f4
mov eax, 1
jmp 0x551727
xor eax, eax
jmp 0x551727
test r10, r10
je 0x5519c0
cmp rdi, rcx
ja 0x551a66
mov rdx, qword [rsp + 0x50]
nop word [rax + rax]
cmp rdi, rdx
ja 0x551a5b
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.0055f4a0
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 0x551a21
cmp rdi, rcx
ja 0x551a50
mov rsi, qword [rsp + 0x50]
cmp rdi, rsi
ja 0x551a45
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 0x551a21
shl rdi, 3
mov rbx, rsi
mov rcx, rdi
call fcn.00456cc0
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0xc8]
cmp r8, rcx
ja 0x551a39
mov rbx, r8
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov rdx, rcx
mov rcx, r8
nop
call fcn.004563e0
mov rax, rdi
mov rcx, rsi
call fcn.00456420
mov rdx, rcx
mov rcx, rdi
call fcn.004563e0
mov rax, rdi
mov rcx, rdx
call fcn.00456420
mov rdx, rcx
mov rcx, rdi
call fcn.004563e0
mov rax, rdi
mov rcx, rsi
call fcn.00456360
mov rax, rcx
mov rcx, rdx
call fcn.00456360
mov rax, rbx
mov rcx, r12
call fcn.00456420
mov rdx, rcx
mov rcx, r12
call fcn.004563e0
mov rdx, rcx
mov rcx, rbx
call fcn.004563e0
call fcn.0055d360
call fcn.004099c0
mov rbx, rax
lea rax, [0x0062e8c0]
nop dword [rax]
call fcn.0042f720
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.00453c40
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.005515e0