Function at 0x100457f8
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov r10d, r9d
mov r11d, r8d
mov r12, rdx
mov r15, rcx
mov eax, dword [rdx]
mov dword [rcx], eax
cmp eax, 0x454c4946
je 0x1004584b
cmp eax, 2
jbe 0x1004583e
cmp eax, 0x44414142
je 0x1004583e
xor edi, edi
jmp 0x10045843
mov edi, 1
mov al, dil
jmp 0x10045bd2
movzx r8d, word [rdx + 4]
movzx r9d, word [rdx + 6]
test r8b, 1
jne 0x10045bd0
lea edx, [r8 + r9*2]
mov ecx, r11d
mov eax, 1
shl eax, cl
sub eax, 2
cmp edx, eax
ja 0x10045bd0
xor edi, edi
cmp r9d, edi
je 0x10045bd0
lea eax, [r9 - 1]
cmp eax, r10d
jne 0x10045bd0
cmp r8d, 0x30
jb 0x100458af
mov eax, dword [r12 + 0x2c]
cmp eax, dword [rsp + 0x110]
je 0x100458af
cmp eax, edi
je 0x100458af
xor al, al
jmp 0x10045bd2
movzx ebx, word [r8 + r12]
mov edx, 1
cmp r9d, edx
jbe 0x100458f2
lea r8, [r8 + r12 + 2]
mov ecx, r11d
mov eax, edx
shl eax, cl
mov ecx, eax
cmp word [rax + r12 - 2], bx
jne 0x100458eb
movzx eax, word [r8]
mov word [rcx + r12 - 2], ax
inc edx
add r8, 2
cmp edx, r9d
jb 0x100458c3
jmp 0x100458f2
xor al, al
jmp 0x10045bd2
movzx eax, word [r12 + 0x10]
mov word [r15 + 4], ax
movzx ebp, word [r12 + 0x14]
movzx eax, word [r12 + 0x16]
mov word [r15 + 6], ax
mov r13d, dword [r12 + 0x18]
mov edx, dword [r12 + 0x1c]
mov rax, qword [r12 + 0x20]
mov qword [r15 + 8], rax
mov ecx, r11d
shl r10d, cl
cmp ebp, r10d
jae 0x10045bcc
test bpl, 7
jne 0x10045bcc
test r13b, 7
jne 0x10045bcc
cmp r13d, r10d
ja 0x10045bcc
cmp edx, r10d
jne 0x10045bcc
cmp ebp, r13d
jae 0x10045b19
mov r14, qword [rsp + 0x118]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rdi
mov ebx, r13d
sub ebx, ebp
mov edx, ebp
add rdx, r12
mov r8d, ebx
lea rcx, [rsp + 0x20]
call fcn.10042474
cmp eax, edi
je 0x10045baf
cmp ebx, eax
jb 0x10045baf
add ebp, eax
mov eax, dword [rsp + 0x20]
cmp eax, 0xffffffff
je 0x10045b20
sub eax, 0x10
je 0x10045adb
sub eax, 0x20
je 0x10045a7d
sub eax, 0x50
je 0x10045a33
sub eax, 0x40
je 0x10045a20
cmp r14, rdi
je 0x10045af7
mov rcx, r14
call fcn.100034ac
mov ecx, 0x58
call fcn.10003f74
mov qword [rsp + 0xf0], rax
cmp rax, rdi
je 0x10045a06
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.10042ffc
mov r11, rax
jmp 0x10045a09
mov r11, rdi
mov ecx, dword [r14 + 8]
lea eax, [rcx + 1]
mov dword [r14 + 8], eax
mov rax, qword [r14]
mov qword [rax + rcx*8], r11
jmp 0x10045af7
lea rcx, [r15 + 0x70]
lea rdx, [rsp + 0x38]
call fcn.1000d518
jmp 0x10045af7
lea rcx, [r15 + 0x18]
call fcn.100034ac
mov ecx, 0x58
call fcn.10003f74
mov qword [rsp + 0xf0], rax
cmp rax, rdi
je 0x10045a65
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.10042ffc
mov r11, rax
jmp 0x10045a68
mov r11, rdi
mov ecx, dword [r15 + 0x20]
lea eax, [rcx + 1]
mov dword [r15 + 0x20], eax
mov rax, qword [r15 + 0x18]
mov qword [rax + rcx*8], r11
jmp 0x10045af7
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x90], edi
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x80]
call fcn.10041f28
cmp al, dil
je 0x10045b62
lea rcx, [r15 + 0x28]
call fcn.100034ac
lea rdx, [rsp + 0x80]
lea rcx, [r15 + 0x28]
call fcn.10042f74
nop
mov rcx, qword [rsp + 0x88]
cmp rcx, rdi
je 0x10045af7
call sub.msvcrt.dll_free
jmp 0x10045af7
lea rcx, [r15 + 0x48]
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
call fcn.10041f70
cmp al, dil
je 0x10045b92
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x28]
cmp rcx, rdi
je 0x10045b10
call sub.msvcrt.dll_free
cmp ebp, r13d
jb 0x10045967
xor al, al
jmp 0x10045bd2
cmp ebp, r13d
je 0x10045b45
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x28]
cmp rcx, rdi
je 0x10045b3e
call sub.msvcrt.dll_free
xor al, al
jmp 0x10045bd2
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x28]
cmp rcx, rdi
je 0x10045b5e
call sub.msvcrt.dll_free
mov al, 1
jmp 0x10045bd2
mov rcx, qword [rsp + 0x88]
cmp rcx, rdi
je 0x10045b75
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x28]
cmp rcx, rdi
je 0x10045b8e
call sub.msvcrt.dll_free
xor al, al
jmp 0x10045bd2
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x28]
cmp rcx, rdi
je 0x10045bab
call sub.msvcrt.dll_free
xor al, al
jmp 0x10045bd2
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x28]
cmp rcx, rdi
je 0x10045bc8
call sub.msvcrt.dll_free
xor al, al
jmp 0x10045bd2
xor al, al
jmp 0x10045bd2
xor al, al
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret