Function at 0x10010a658
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov r12, rcx
xor edi, edi
mov dword [rax + 0x10], edi
mov dword [rsp + 0x38], edi
cmp dword [rcx + 0x28], edi
je 0x10010a687
mov eax, dword [rcx + 0x1c]
cmp eax, edi
jne 0x10010a68a
mov eax, dword [rcx + 0x18]
jmp 0x10010a68a
mov eax, dword [rcx + 0x18]
cmp eax, edi
ja 0x10010a69b
mov esi, 0xd000007b
mov ebx, esi
mov dword [rsp + 0x38], ebx
jmp 0x10010a6c9
mov dword [rsp + 0x38], edi
mov ebx, edi
mov dword [rsp + 0x38], ebx
cmp dword [rcx + 0x28], edi
je 0x10010a6b6
mov eax, dword [rcx + 0x1c]
cmp eax, edi
jne 0x10010a6b9
mov eax, dword [rcx + 0x18]
jmp 0x10010a6b9
mov eax, dword [rcx + 0x18]
cmp eax, 0x40
jae 0x10010a70f
mov esi, 0xd000007b
mov ebx, esi
mov dword [rsp + 0x38], ebx
lea rax, [0x100331948]
mov rcx, qword [0x100331948]
cmp rcx, rax
je 0x10010a708
test byte [rcx + 0x3c], 2
je 0x10010a701
mov edx, 0x15
mov r9d, esi
lea r8, [0x100020508]
mov rcx, qword [rcx + 0x30]
call fcn.100050618
mov r14, qword [rsp + 0x40]
jmp 0x10010a728
mov r14, qword [rsp + 0x40]
jmp 0x10010a728
mov r14, qword [rsp + 0x40]
jmp 0x10010a728
mov r14, qword [rcx + 8]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0xb0], 0x40
mov esi, 0xd000007b
mov dword [rsp + 0x30], ebx
cmp ebx, edi
jge 0x10010a73c
lea rax, [0x100331948]
jmp 0x10010ada4
mov eax, 0x5a4d
cmp word [r14], ax
je 0x10010a765
mov r15d, 0x4550
cmp word [r14], r15w
je 0x10010a76b
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
mov r15d, 0x4550
cmp word [r14], ax
jne 0x10010a7f7
mov r13d, dword [r14 + 0x3c]
cmp r13d, edi
jne 0x10010a790
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
mov dword [rsp + 0xa8], r13d
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb8]
mov r8d, 1
mov edx, r13d
mov rcx, r12
call fcn.10010bb18
mov ebx, eax
mov dword [rsp + 0x30], eax
cmp eax, edi
jge 0x10010a7d4
lea rax, [0x100331948]
jmp 0x10010ada4
lea rax, [r14 + 0x40]
mov r14, qword [rsp + 0xb8]
cmp r14, rax
jae 0x10010a847
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
mov r13d, edi
mov dword [rsp + 0xa8], edi
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb8]
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, r12
call fcn.10010bb18
mov ebx, eax
mov dword [rsp + 0x30], eax
cmp eax, edi
jge 0x10010a83a
lea rax, [0x100331948]
jmp 0x10010ada4
mov qword [rsp + 0x40], rdi
mov r14, qword [rsp + 0xb8]
cmp dword [r14], r15d
je 0x10010a85e
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
cmp word [r14 + 0x14], di
jne 0x10010a877
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
test byte [r14 + 0x14], 7
je 0x10010a890
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
movzx ecx, word [r14 + 4]
mov edx, ecx
mov r8d, 0x14c
sub edx, r8d
je 0x10010a8c6
sub edx, 0x74
je 0x10010a8c6
sub edx, 0x40
je 0x10010a8c6
cmp edx, 0x8464
je 0x10010a8c6
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
cmp byte [r14 + 0x1a], 3
jae 0x10010a8e6
cmp byte [r14 + 0x1b], 5
jae 0x10010a8e6
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
mov edx, 0x10b
cmp word [r14 + 0x18], dx
je 0x10010a910
mov eax, 0x20b
cmp word [r14 + 0x18], ax
je 0x10010a910
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
cmp word [r14 + 0x18], dx
jne 0x10010aa45
sub ecx, r8d
je 0x10010a937
cmp ecx, 0x74
je 0x10010a937
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
mov dword [rsp + 0x34], edi
cmp dword [r12 + 0x28], edi
je 0x10010a952
mov eax, dword [r12 + 0x1c]
cmp eax, edi
jne 0x10010a957
mov eax, dword [r12 + 0x18]
jmp 0x10010a957
mov eax, dword [r12 + 0x18]
cmp r13d, eax
jb 0x10010a96e
mov ebx, esi
mov dword [rsp + 0x34], ebx
lea r15, [0x100331948]
jmp 0x10010a9f4
mov dword [rsp + 0x34], edi
lea eax, [r13 + 0xf8]
cmp eax, r13d
jb 0x10010a98c
mov r13d, eax
mov ebx, edi
lea r15, [0x100331948]
jmp 0x10010a9c2
mov ebx, 0x80070216
mov rcx, qword [0x100331948]
lea r15, [0x100331948]
cmp rcx, r15
je 0x10010a9c2
test byte [rcx + 0x3c], 2
je 0x10010a9c2
mov edx, 0xa
mov r9d, ebx
lea r8, [0x1000213b8]
mov rcx, qword [rcx + 0x30]
call fcn.100050618
mov dword [rsp + 0x34], ebx
cmp ebx, edi
jl 0x10010a9f0
cmp dword [r12 + 0x28], edi
je 0x10010a9e1
mov eax, dword [r12 + 0x1c]
cmp eax, edi
jne 0x10010a9e6
mov eax, dword [r12 + 0x18]
jmp 0x10010a9e6
mov eax, dword [r12 + 0x18]
cmp r13d, eax
cmova ebx, esi
mov dword [rsp + 0x34], ebx
cmp ebx, edi
jge 0x10010aa1e
mov rcx, qword [0x100331948]
cmp rcx, r15
je 0x10010aa1e
test byte [rcx + 0x3c], 2
je 0x10010aa1e
mov edx, 0x15
mov r9d, ebx
lea r8, [0x100020508]
mov rcx, qword [rcx + 0x30]
call fcn.100050618
mov dword [rsp + 0x30], ebx
cmp ebx, edi
jge 0x10010aa32
lea rax, [0x100331948]
jmp 0x10010ada4
mov ecx, dword [r14 + 0x34]
mov qword [rsp + 0x58], rcx
mov eax, dword [r14 + 0x50]
mov dword [rsp + 0x3c], edi
jmp 0x10010aaa9
cmp ecx, 0x200
je 0x10010aa67
cmp ecx, 0x8664
je 0x10010aa67
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r15d, [r9 + 1]
mov r8d, r15d
mov edx, r13d
mov rcx, r12
call fcn.10010bb18
mov ebx, eax
mov dword [rsp + 0x30], eax
cmp eax, edi
jge 0x10010aa97
lea rax, [0x100331948]
jmp 0x10010ada4
mov rax, qword [r14 + 0x30]
mov qword [rsp + 0x58], rax
mov eax, dword [r14 + 0x50]
mov dword [rsp + 0x3c], r15d
mov dword [r12 + 0x1c], eax
cmp dword [r14 + 0x54], edi
je 0x10010ad82
cmp dword [r12 + 0x28], edi
je 0x10010aaca
cmp eax, edi
jne 0x10010aacf
mov eax, dword [r12 + 0x18]
jmp 0x10010aacf
mov eax, dword [r12 + 0x18]
cmp dword [r14 + 0x54], eax
jae 0x10010ad82
mov edx, dword [r14 + 0x38]
mov dword [rsp + 0xb8], edx
mov ecx, dword [r14 + 0x3c]
cmp ecx, edi
jne 0x10010aafe
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
lea eax, [rcx - 1]
test ecx, eax
jne 0x10010ad73
lea eax, [rdx - 1]
test edx, eax
jne 0x10010ad73
cmp edx, ecx
jae 0x10010ab2a
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
test ecx, 0x1ff
je 0x10010ab48
cmp ecx, edx
je 0x10010ab48
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
movzx r15d, word [r14 + 6]
mov dword [rsp + 0x54], r15d
cmp r15d, edi
ja 0x10010ab69
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
movzx eax, word [r14 + 0x14]
lea rcx, [rax + r14 + 0x18]
mov qword [rsp + 0x48], rcx
sub rcx, qword [r12 + 8]
lea rdx, [rsp + 0xa8]
call fcn.10010bc30
cmp eax, edi
jge 0x10010aba0
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
mov r8d, r15d
mov edx, dword [rsp + 0xa8]
mov rcx, r12
call fcn.10010bcf8
mov ebx, eax
mov dword [rsp + 0x30], eax
cmp eax, edi
jge 0x10010abda
lea rax, [0x100331948]
jmp 0x10010ada4
mov r13d, edi
mov dword [rsp + 0x50], edi
cmp r13d, r15d
jae 0x10010aca4
cmp dword [r12 + 0x28], edi
je 0x10010ac07
mov eax, r13d
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x48]
lea r15, [rax + rcx*8]
mov edx, dword [r15 + 0xc]
jmp 0x10010ac1b
mov eax, r13d
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x48]
lea r15, [rax + rcx*8]
mov edx, dword [r15 + 0x14]
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8d, dword [r15 + 0x10]
mov rcx, r12
call fcn.10010be80
mov ebx, eax
mov dword [rsp + 0x30], eax
cmp eax, edi
jge 0x10010ac45
lea rax, [0x100331948]
jmp 0x10010ada4
cmp dword [r12 + 0x28], edi
je 0x10010ac6d
mov eax, dword [rsp + 0xb8]
dec eax
test dword [r15 + 0xc], eax
je 0x10010ac6d
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
mov ecx, dword [r15 + 0x10]
mov eax, dword [rsp + 0xb8]
lea eax, [rcx + rax - 1]
cmp eax, ecx
jae 0x10010ac92
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
inc r13d
mov dword [rsp + 0x50], r13d
mov r15d, dword [rsp + 0x54]
jmp 0x10010abe1
cmp dword [r12 + 0x28], edi
je 0x10010acc2
lea eax, [r15 - 1]
lea rax, [rax + rax*4]
mov r13, qword [rsp + 0x48]
lea rcx, [r13 + rax*8]
mov esi, dword [rcx + 0xc]
jmp 0x10010acd7
lea eax, [r15 - 1]
lea rax, [rax + rax*4]
mov r13, qword [rsp + 0x48]
lea rcx, [r13 + rax*8]
mov esi, dword [rcx + 0x14]
mov ecx, dword [rcx + 0x10]
add ecx, esi
cmp ecx, esi
jb 0x10010ace6
mov esi, ecx
mov ebx, edi
jmp 0x10010ad1c
mov ebx, 0x80070216
mov rcx, qword [0x100331948]
lea rax, [0x100331948]
cmp rcx, rax
je 0x10010ad1c
test byte [rcx + 0x3c], 2
je 0x10010ad1c
mov edx, 0xa
mov r9d, ebx
lea r8, [0x1000213b8]
mov rcx, qword [rcx + 0x30]
call fcn.100050618
mov dword [rsp + 0x30], ebx
cmp ebx, edi
jge 0x10010ad2d
lea rax, [0x100331948]
jmp 0x10010ada4
mov ecx, dword [rsp + 0x3c]
mov dword [r12 + 0x2c], ecx
mov rax, qword [rsp + 0x58]
mov qword [r12 + 0x30], rax
mov dword [r12 + 0x20], esi
mov eax, dword [rsp + 0xb8]
mov dword [r12 + 0x24], eax
mov rax, qword [rsp + 0x40]
mov qword [r12 + 0x40], rax
mov qword [r12 + 0x48], r14
mov qword [r12 + 0x50], r13
mov dword [r12 + 0x58], r15d
lea rax, [0x100331948]
jmp 0x10010ada4
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
mov ebx, esi
mov dword [rsp + 0x30], ebx
lea rax, [0x100331948]
jmp 0x10010ada4
cmp ebx, edi
jge 0x10010add2
mov rcx, qword [0x100331948]
cmp rcx, rax
je 0x10010add2
test byte [rcx + 0x3c], 2
je 0x10010add2
mov edx, 0x14
mov r9d, ebx
lea r8, [0x100020508]
mov rcx, qword [rcx + 0x30]
call fcn.100050618
mov eax, ebx
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret