Function at 0x14015c290
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rbx, r8
mov rsi, rdx
mov r14, rcx
mov rax, qword [0x1402f4538]
xor rax, rsp
mov qword [rsp + 0x110], rax
cmp r9d, 1
movups xmm0, xmmword [r8]
movups xmmword [rcx + 0xb0], xmm0
sete byte [rcx + 0xc0]
lea r15, [rcx + 0xb0]
mov byte [rcx + 0xc1], 0
lea r12, [rcx + 0xc8]
lea rdi, [rcx + 0xd0]
mov rcx, r15
mov rdx, r12
mov r8, rdi
call fcn.140154a10
cmp al, 0x41
mov qword [rsp + 0x38], rsi
jne 0x14015c32d
mov rax, qword [r14 + 0xb8]
cmp rax, qword [r14 + 0xc8]
jne 0x14015c406
mov rax, qword [rdi]
mov qword [rsi], rax
mov qword [rdi], 0
jmp 0x14015c993
test al, al
je 0x14015c59b
movzx ecx, al
mov eax, 0x12
xor ebx, ebx
lea rdx, str.0123456789ABCDEF
mov r8, rcx
nop dword [rax]
mov r9d, ecx
and r9d, 0xf
movzx r9d, byte [r9 + rdx]
mov byte [rsp + rax + 0xbe], r9b
shr r8, 4
dec rax
inc rbx
cmp rcx, 0x10
mov rcx, r8
jae 0x14015c350
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0xf
mov byte [rsp + 0xf0], 0
test rbx, rbx
je 0x14015c711
cmp rbx, 0xf
jbe 0x14015c6a8
cmp rax, 0x13
jge 0x14015cbf5
lea r14, [rsp + rax]
add r14, 0xbf
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x14015c6d5
lea rcx, [rsi + 0x28]
call fcn.140241054
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14015c6e1
xor ebp, ebp
jmp 0x14015c42e
mov word [rcx], 0xa7d
add qword [rax + 0x20], 2
mov rax, qword [r14 + 0xb8]
cmp rax, qword [r14 + 0xc8]
je 0x14015c31b
mov rcx, r15
mov rdx, r12
mov r8, rdi
call fcn.140154a80
mov r13d, eax
mov rax, qword [rdi]
test rax, rax
jne 0x14015c31e
mov rcx, qword [r14 + 0x98]
test rcx, rcx
je 0x14015c4f8
mov rax, qword [rcx]
call qword [rax + 0xf0]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
sub rdx, rcx
cmp rdx, 7
ja 0x14015c490
mov r8d, 8
mov rcx, rax
lea rdx, str.Section
call fcn.140022660
jmp 0x14015c4a2
movabs rdx, 0x206e6f6974636553
mov qword [rcx], rdx
add qword [rax + 0x20], 8
inc ebp
mov rcx, rax
mov edx, ebp
call fcn.140021b10
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
sub rdx, rcx
cmp rdx, 2
ja 0x14015c4e0
mov r8d, 3
mov rcx, rax
lea rdx, [0x1402ef795]
call fcn.140022660
jmp 0x14015c4ee
mov byte [rcx + 2], 0xa
mov word [rcx], 0x7b20
add qword [rax + 0x20], 3
mov rax, qword [r14 + 0x98]
inc dword [rax + 0x10]
mov rcx, qword [r12]
mov esi, r13d
cmp r13d, 4
jb 0x14015c5d5
lea rax, [rsi + rcx]
add rax, 0xfffffffffffffffc
cmp rax, qword [rbx + 8]
ja 0x14015c5d5
mov rcx, r14
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
mov r8d, r13d
call fcn.14015b820
cmp qword [rsi], 0
jne 0x14015c993
mov rax, qword [r14 + 0x98]
test rax, rax
je 0x14015c41a
mov ecx, dword [rax + 0x10]
lea edx, [rcx - 1]
cmp ecx, 2
mov ecx, 0
cmovl edx, ecx
mov dword [rax + 0x10], edx
mov rcx, qword [r14 + 0x98]
mov rax, qword [rcx]
call qword [rax + 0xf0]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
sub rdx, rcx
cmp rdx, 1
ja 0x14015c410
mov r8d, 2
mov rcx, rax
lea rdx, [0x1402ef782]
call fcn.140022660
jmp 0x14015c41a
lea rdx, [rsp + 0xd0]
mov byte [rsp + 0xd0], 0x30
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0x108], 0xf
mov byte [rsp + 0xf0], 0
mov ebx, 1
jmp 0x14015c6b3
add rcx, 0xfffffffffffffffc
je 0x14015c9e0
mov eax, 0x12
xor ebx, ebx
lea rdx, str.0123456789ABCDEF
mov r8, rcx
mov r9d, ecx
and r9d, 0xf
movzx r9d, byte [r9 + rdx]
mov byte [rsp + rax + 0xbe], r9b
shr r8, 4
dec rax
inc rbx
cmp rcx, 0x10
mov rcx, r8
jae 0x14015c5f0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0xf
mov byte [rsp + 0xa0], 0
test rbx, rbx
je 0x14015ca7c
cmp rbx, 0xf
jbe 0x14015ca17
cmp rax, 0x13
jge 0x14015cbf5
lea r14, [rsp + rax]
add r14, 0xbf
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r12d, 0x16
cmovae r12, rax
cmp r12, 0xfff
jb 0x14015ca44
lea rcx, [r12 + 0x28]
call fcn.140241054
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14015ca51
lea rdx, [rsp + 0xd1]
sub rdx, rbx
mov qword [rsp + 0x100], rbx
lea rcx, [rsp + 0xf0]
mov r8, rbx
call fcn.140242bf0
mov byte [rsp + rbx + 0xf0], 0
jmp 0x14015c711
lea rcx, [rsi + 1]
call fcn.140241054
mov r15, rax
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rsi
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.140242bf0
mov byte [r15 + rbx], 0
mov qword [rsp + 0xf0], r15
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x100]
mov rax, qword [rsp + 0x108]
mov rcx, rax
sub rcx, r8
cmp rcx, 0x1f
jae 0x14015c75f
lea rax, str.unrecognized_format_version:_0x
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0x1f
lea rcx, [rsp + 0xf0]
mov edx, 0x1f
xor r9d, r9d
call fcn.14001d4a0
mov rbx, rax
jmp 0x14015c7fe
lea rcx, [r8 + 0x1f]
mov qword [rsp + 0x100], rcx
cmp rax, 0x10
mov rcx, qword [rsp + 0xf0]
lea rbx, [rsp + 0xf0]
mov r14, rbx
cmovae r14, rcx
lea rdx, [0x140285f5e]
mov r15d, 0x1f
mov r12d, 0x1f
cmp r14, rdx
jae 0x14015c7b9
lea r9, [r14 + r8]
lea rdx, str.unrecognized_format_version:_0x
cmp r9, rdx
jb 0x14015c7b9
mov r12, r14
sub r12, rdx
ja 0x14015c7b9
xor r12d, r12d
inc r8
cmp rax, 0x10
cmovb rcx, rbx
add rcx, 0x1f
mov rdx, r14
call fcn.140242c00
lea r13, str.unrecognized_format_version:_0x
mov rcx, r14
mov rdx, r13
mov r8, r12
call fcn.140242bf0
sub r15, r12
lea rdx, [r12 + r13]
add rdx, 0x1f
add r14, r12
mov rcx, r14
mov r8, r15
call fcn.140242bf0
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov word [rsp + 0xe0], 0x104
lea rax, [rsp + 0x50]
mov qword [rsp + 0xc0], rax
mov eax, dword [0x1402f5d04]
mov ecx, dword [0x1402f6910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14015cbb9
lea rcx, [rsp + 0xc0]
lea rbx, [rsp + 0x78]
mov rdx, rbx
call fcn.140020610
cmp qword [rsp + 0x90], 0x10
jb 0x14015c883
mov rbx, qword [rsp + 0x78]
mov dword [rsp + 0xa0], 0x16
lea rax, str.P4__
mov qword [rsp + 0xa8], rax
lea rdx, [rsp + 0xa0]
mov rcx, rsi
mov r8, rbx
call fcn.14001a6b0
mov rax, qword [rsp + 0x90]
cmp rax, 0x10
jb 0x14015c8f4
mov rcx, qword [rsp + 0x78]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14015c8ef
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14015cbef
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140241098
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x14015c935
mov rcx, qword [rsp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14015c930
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14015cbef
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140241098
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
mov rax, qword [rsp + 0x108]
cmp rax, 0x10
jb 0x14015c993
mov rcx, qword [rsp + 0xf0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14015c98e
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14015cbef
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140241098
mov rax, qword [rdi]
mov qword [rdi], 0
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x78]
lea r8, [rsp + 0x50]
call fcn.14001aac0
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.140241350
mov rax, rsi
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [rsp + 0xd0]
mov byte [rsp + 0xd0], 0x30
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xb8], 0xf
mov byte [rsp + 0xa0], 0
mov ebx, 1
jmp 0x14015ca22
lea rdx, [rsp + 0xd1]
sub rdx, rbx
mov qword [rsp + 0xb0], rbx
lea rcx, [rsp + 0xa0]
mov r8, rbx
call fcn.140242bf0
mov byte [rsp + rbx + 0xa0], 0
jmp 0x14015ca7c
lea rcx, [r12 + 1]
call fcn.140241054
mov r15, rax
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], r12
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.140242bf0
mov byte [r15 + rbx], 0
mov qword [rsp + 0xa0], r15
lea rax, str.invalid_section_length
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rsi
mov word [rsp + 0x70], 0x803
lea rax, [rsp + 0x50]
mov qword [rsp + 0x78], rax
lea rax, [0x140285da7]
mov qword [rsp + 0x88], rax
mov word [rsp + 0x98], 0x302
lea rax, [rsp + 0x78]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xd0], rax
mov word [rsp + 0xe0], 0x402
mov eax, dword [0x1402f5d04]
mov ecx, dword [0x1402f6910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14015cbfa
lea rcx, [rsp + 0xc0]
lea rbx, [rsp + 0xf0]
mov rdx, rbx
call fcn.140020610
cmp qword [rsp + 0x108], 0x10
mov rsi, qword [rsp + 0x38]
jb 0x14015cb33
mov rbx, qword [rsp + 0xf0]
mov dword [rsp + 0x40], 0x16
lea rax, str.P4__
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
mov rcx, rsi
mov r8, rbx
call fcn.14001a6b0
mov rax, qword [rsp + 0x108]
cmp rax, 0x10
jb 0x14015cb9a
mov rcx, qword [rsp + 0xf0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14015cb95
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14015cbef
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140241098
mov rax, qword [rsp + 0xb8]
cmp rax, 0x10
jb 0x14015c993
mov rcx, qword [rsp + 0xa0]
jmp 0x14015c962
lea rcx, [0x1402f5d04]
call fcn.14024119c
cmp dword [0x1402f5d04], 0xffffffff
jne 0x14015c85e
lea rcx, [fcn.1400039b0]
call fcn.140241370
lea rcx, [0x1402f5d04]
call fcn.140241204
jmp 0x14015c85e
call qword [0x1402f0b58]
call fcn.1400044b0
lea rcx, [0x1402f5d04]
call fcn.14024119c
cmp dword [0x1402f5d04], 0xffffffff
jne 0x14015cb03
lea rcx, [fcn.1400039b0]
call fcn.140241370
lea rcx, [0x1402f5d04]
call fcn.140241204
jmp 0x14015cb03