Function at 0x556760
Capabilities:
Access peb ldr_data
Get process heap force flags

Disassembly:
lea r12, [rsp - 0x20]
cmp r12, qword [r14 + 0x10]
jbe 0x556d23
push rbp
mov rbp, rsp
sub rsp, 0x98
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xb0], rbx
mov rax, qword [rsp + 0xa0]
call fcn.004c2fc0
mov rbx, qword [rsp + 0xb8]
test rbx, rbx
je 0x5567c2
mov rax, qword [rsp + 0xb0]
movzx ecx, byte [rbx + rax - 1]
cmp cl, 0x2e
sete cl
nop
jmp 0x5567cc
mov rax, qword [rsp + 0xb0]
xor ecx, ecx
cmp rbx, 0xfe
jg 0x556a75
je 0x5569d6
nop
test cl, cl
jne 0x5569de
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x2e
call fcn.00454600
xorps xmm15, xmm15
mov r14, qword [0x00749460]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0xa8]
test byte [rax], al
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x60], rcx
lea rdx, [rax + 0x30]
mov rax, rdx
call fcn.004bf340
mov rax, qword [rsp + 0xa8]
lea rcx, [rax + 0x18]
mov qword [rsp + 0x90], rcx
mov rdx, qword [rax + 0x30]
mov qword [rsp + 0x58], rdx
mov rbx, qword [rsp + 0xb0]
lea rdi, [0x005e2f60]
mov esi, 1
xor eax, eax
mov rcx, qword [rsp + 0xb8]
call fcn.004a5de0
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x50], rbx
mov rax, qword [rsp + 0x90]
call fcn.004bf340
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x48], rcx
lea rdx, [rcx + 1]
mov qword [rsp + 0x30], rdx
xor ebx, ebx
lea rax, [0x0058a400]
mov rcx, rdx
call fcn.004a1ec0
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
nop dword [rax]
cmp rcx, rdx
jle 0x5568c9
xor ebx, ebx
jmp 0x556900
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x50]
nop
call fcn.005566c0
xor eax, 1
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov ebx, eax
mov rax, qword [rsp + 0x80]
nop dword [rax]
test bl, bl
je 0x55698c
mov r8, qword [rsp + 0x48]
cmp r8, 0xffffffffffffffff
je 0x55691a
mov rbx, qword [rsp + 0x30]
jmp 0x556933
mov ebx, 1
xor ecx, ecx
mov rdi, rbx
lea rsi, [0x0058a400]
call fcn.004a1fa0
mov rbx, rcx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x68], rax
nop dword [rax]
call fcn.004bf3a0
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
mov qword [rdx + 8], rcx
cmp dword [0x007494f0], 0
jne 0x556966
mov rbx, qword [rsp + 0x88]
jmp 0x55697d
call fcn.004bdc20
mov rbx, qword [rsp + 0x88]
mov qword [r11], rbx
mov rsi, qword [rdx]
mov qword [r11 + 8], rsi
mov qword [rdx], rbx
mov rax, qword [rsp + 0x30]
mov esi, 1
jmp 0x556996
xor esi, esi
mov rdx, rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x68], rdx
mov rax, qword [rsp + 0x90]
call fcn.004bf340
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
jmp 0x556aa7
test cl, cl
je 0x556a75
nop
call fcn.005566c0
test al, al
jne 0x556a5b
lea rax, [0x0058cbe0]
call fcn.0045fe20
mov qword [rsp + 0x78], rax
call fcn.004bf3a0
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x78]
mov qword [rdx + 8], rcx
cmp dword [0x007494f0], 0
jne 0x556a23
mov rax, qword [rsp + 0xb0]
jmp 0x556a3a
call fcn.004bdc20
mov rax, qword [rsp + 0xb0]
mov qword [r11], rax
mov rcx, qword [rdx]
mov qword [r11 + 8], rcx
mov qword [rdx], rax
nop dword [rax]
call fcn.004c3000
mov rax, qword [rsp + 0x78]
mov ebx, 1
mov rcx, rbx
add rsp, 0x98
pop rbp
ret
nop dword [rax + rax]
call fcn.004c3000
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x98
pop rbp
ret
call fcn.004c3000
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x98
pop rbp
ret
mov rdx, qword [rsp + 0x80]
add rdx, 0x10
mov r8, qword [rsp + 0x48]
dec r8
mov rsi, rbx
mov rbx, rcx
mov rcx, r8
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x68], rsi
test rcx, rcx
jle 0x556c0a
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x80], rdx
mov rax, rdx
lea rbx, [0x0058a400]
mov ecx, 1
nop dword [rax + rax]
call fcn.00458bc0
mov rax, qword [rsp + 0x80]
call fcn.004bf340
mov rdx, qword [rsp + 0x80]
mov rdi, qword [rdx]
mov rsi, qword [rdx + 8]
xor eax, eax
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
call fcn.004a5de0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x38], rbx
nop
call fcn.005566c0
test al, al
je 0x556b3d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x68]
jmp 0x556a8a
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xfe
jle 0x556b5f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x68]
jmp 0x556a8a
mov rbx, qword [rsp + 0x28]
lea r8, [rbx + 1]
mov rcx, qword [rsp + 0x30]
cmp rcx, r8
jb 0x556b79
mov rax, qword [rsp + 0x68]
jmp 0x556b9a
mov rax, qword [rsp + 0x68]
mov rbx, r8
mov edi, 1
lea rsi, [0x0058a400]
call fcn.004a1fa0
mov r8, rbx
mov rbx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x68], rax
shl rbx, 4
mov qword [rsp + 0x40], rbx
lea rdx, [rax + rbx]
mov rax, rdx
call fcn.004bf3a0
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x68]
mov qword [rbx + rcx + 8], rdx
cmp dword [0x007494f0], 0
jne 0x556be2
mov rdx, qword [rsp + 0x70]
jmp 0x556bf7
call fcn.004bdc20
mov rdx, qword [rsp + 0x70]
mov qword [r11], rdx
mov r8, qword [rbx + rcx]
mov qword [r11 + 8], r8
mov qword [rbx + rcx], rdx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
jmp 0x556a8a
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
cmp rdx, r8
jg 0x556c1d
xor ecx, ecx
jmp 0x556c43
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x50]
call fcn.005566c0
xor eax, 1
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
mov ecx, eax
mov rax, qword [rsp + 0x30]
test cl, cl
je 0x556cf7
lea rdx, [rbx + 1]
cmp rax, rdx
jae 0x556c7c
mov rbx, rdx
mov rcx, rax
mov edi, 1
mov rax, rsi
lea rsi, [0x0058a400]
call fcn.004a1fa0
mov rsi, rax
mov rax, rcx
mov rdx, rbx
mov rbx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x68], rsi
shl rbx, 4
mov qword [rsp + 0x60], rbx
lea rcx, [rsi + rbx]
mov rax, rcx
nop dword [rax + rax]
call fcn.004bf3a0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x68]
mov qword [rbx + rcx + 8], rdx
cmp dword [0x007494f0], 0
jne 0x556ccc
mov rax, qword [rsp + 0x88]
jmp 0x556ce4
call fcn.004bdc20
mov rax, qword [rsp + 0x88]
mov qword [r11], rax
mov rdx, qword [rbx + rcx]
mov qword [r11 + 8], rdx
mov qword [rbx + rcx], rax
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x68], rsi
call fcn.004c3000
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
add rsp, 0x98
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004bbcc0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00556760