Function at 0x57ce40
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x57d38d
push rbp
mov rbp, rsp
sub rsp, 0xb0
lea rax, [0x006e0677]
mov ebx, 7
call fcn.00493b20
jmp 0x57ce73
mov rbx, rdx
mov rax, rsi
test rbx, rbx
je 0x57d0dc
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x28], rbx
nop
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x2c
call fcn.004038e0
xorps xmm15, xmm15
mov r14, qword [0x00c4bbb8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
test rax, rax
jge 0x57cec6
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x28]
xor edx, edx
xor esi, esi
jmp 0x57ceea
mov rcx, qword [rsp + 0x28]
sub rcx, rax
dec rcx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
lea rsi, [rax + 1]
and rsi, rcx
mov rcx, qword [rsp + 0x70]
add rsi, rcx
cmp rax, 4
jl 0x57ce6d
cmp dword [rcx], 0x2e757063
nop word [rax + rax]
jne 0x57ce6d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0x60], rdx
nop
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], 0x3d
call fcn.004038e0
xorps xmm15, xmm15
mov r14, qword [0x00c4bbb8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
test rax, rax
jl 0x57d08d
lea rdx, [rax - 4]
mov qword [rsp + 0x20], rdx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and edx, 4
mov rdi, qword [rsp + 0x38]
sub rdi, rax
lea r8, [rdi - 1]
mov qword [rsp + 0x30], r8
mov r9, r8
neg r8
sar r8, 0x3f
lea r10, [rax + 1]
and r10, r8
mov r8, qword [rsp + 0x70]
lea rbx, [r8 + rdx]
mov qword [rsp + 0x68], rbx
lea r11, [r8 + r10]
mov qword [rsp + 0x78], r11
nop dword [rax + rax]
cmp rdi, 3
jne 0x57cfb5
movzx r10d, word [r8 + r10]
cmp r10w, 0x6e6f
je 0x57cfd4
jmp 0x57d01d
cmp rdi, 4
jne 0x57d01d
movzx r12d, word [r8 + r10]
cmp r12w, 0x666f
jne 0x57d01d
movzx r10d, byte [r8 + r10 + 2]
cmp r10b, 0x66
jne 0x57d01d
cmp rax, 7
jne 0x57d005
movzx r9d, word [r8 + rdx]
nop
cmp r9w, 0x6c61
jne 0x57d005
movzx edx, byte [r8 + rdx + 2]
cmp dl, 0x6c
jne 0x57d005
mov rax, qword [0x00bc53d8]
xor ecx, ecx
nop dword [rax]
jmp 0x57d346
mov qword [rsp + 0x58], rdi
mov rdx, qword [0x00bc53d8]
mov qword [rsp + 0x50], rdx
xor eax, eax
jmp 0x57d252
nop dword [rax]
call fcn.00433020
lea rax, [0x006e9acf]
mov ebx, 0x18
call fcn.004333e0
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x30]
call fcn.004333e0
lea rax, [0x006eddc7]
mov ebx, 0x20
call fcn.004333e0
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x20]
call fcn.004333e0
lea rax, [0x006df543]
mov ebx, 2
call fcn.004333e0
call fcn.00433080
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
jmp 0x57ce6d
call fcn.00433020
lea rax, [0x006f44c8]
mov ebx, 0x29
nop
call fcn.004333e0
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x38]
call fcn.004333e0
lea rax, [0x006df543]
mov ebx, 2
call fcn.004333e0
call fcn.00433080
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
jmp 0x57ce6d
mov rax, qword [0x00bc53d0]
mov rcx, qword [0x00bc53d8]
jmp 0x57d0f3
add rax, 0x20
dec rcx
test rcx, rcx
jle 0x57d245
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x90], xmm0
cmp byte [rsp + 0x98], 0
je 0x57d0ec
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xa0], rax
movzx edx, byte [rsp + 0x99]
test dl, dl
je 0x57d1bf
mov rbx, qword [rsp + 0x90]
cmp byte [rbx], 0
je 0x57d14d
test dl, dl
jne 0x57d1c9
jmp 0x57d1bf
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x58], rcx
call fcn.00433020
lea rax, [0x006ee929]
mov ebx, 0x21
nop dword [rax + rax]
call fcn.004333e0
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
call fcn.004333e0
lea rax, [0x006e9086]
mov ebx, 0x17
call fcn.004333e0
call fcn.00433080
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
jmp 0x57d0ec
cmp byte [rsp + 0x9a], 0
jne 0x57d1d8
mov rbx, qword [rsp + 0x90]
mov byte [rbx], dl
jmp 0x57d0ec
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x58], rcx
call fcn.00433020
lea rax, [0x006eef88]
mov ebx, 0x22
call fcn.004333e0
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
call fcn.004333e0
lea rax, [0x006e9ae7]
mov ebx, 0x18
call fcn.004333e0
call fcn.00433080
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
jmp 0x57d0ec
add rsp, 0xb0
pop rbp
ret
lea rax, [r8 + 1]
cmp rax, rdx
jge 0x57d2e5
mov r8, rax
shl rax, 5
mov r9, qword [0x00bc53d0]
mov rcx, qword [r9 + rax + 8]
mov r9, qword [r9 + rax]
cmp rcx, rsi
jne 0x57d24e
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r8
mov rax, r9
call fcn.004033a0
test al, al
jne 0x57d2a8
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
jmp 0x57d24e
mov rax, qword [0x00bc53d0]
mov rcx, qword [rsp + 0x48]
mov byte [rax + rcx + 0x18], 1
mov rax, qword [0x00bc53d0]
mov rbx, qword [rsp + 0x58]
cmp rbx, 3
sete byte [rax + rcx + 0x19]
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
nop dword [rax + rax]
jmp 0x57ce6d
call fcn.00433020
lea rax, [0x006f32a9]
mov ebx, 0x26
call fcn.004333e0
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x20]
call fcn.004333e0
lea rax, [0x006df543]
mov ebx, 2
call fcn.004333e0
nop dword [rax + rax]
call fcn.00433080
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
jmp 0x57ce6d
mov rsi, qword [0x00bc53d0]
mov byte [rsi + rcx + 0x19], bl
lea rcx, [rdx + 1]
cmp rcx, rax
jge 0x57d37b
mov rdx, rcx
shl rcx, 5
mov rbx, qword [0x00bc53d0]
mov byte [rbx + rcx + 0x18], 1
nop
cmp rdi, 3
jne 0x57d36d
mov ebx, 1
jmp 0x57d337
mov rbx, qword [0x00bc53d0]
movzx ebx, byte [rbx + rcx + 0x1a]
jmp 0x57d337
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
jmp 0x57ce6d
call fcn.0045a0c0
jmp fcn.0057ce40