Function at 0x180028f20
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r14d, ecx
mov r15, r9
add ecx, 0x6db
mov r12, r8
mov dword [rsp + 0xb0], ecx
mov r13, rdx
cmp r14d, ecx
jae 0x180029553
movsxd rbp, dword [rsp + 0xb0]
xor ebx, ebx
mov edi, dword [rsp + 0xb0]
mov rsi, rbp
mov r9, qword [0x1800440c8]
mov eax, 0xffff
lea rdx, [0x1800456b0]
cmp r14d, 0x152
ja 0x180029372
je 0x18002920c
mov eax, r14d
sub eax, 0x1e
je 0x1800291f3
sub eax, 0x42
je 0x18002904e
sub eax, 0x2f
je 0x180028fd1
cmp eax, 0x52
jne 0x18002953e
mov eax, dword [r12]
inc eax
cmp dword [0x180044154], eax
jae 0x18002953e
xor al, al
jmp 0x18002955b
movzx edx, byte [r13]
test dl, dl
je 0x180029553
cmp qword [r9 + 0x20], 0
je 0x180029553
mov rax, qword [r9 + 0x68]
test rax, rax
je 0x18002900d
mov rcx, r9
call rax
test al, al
jne 0x180029553
mov r9, qword [0x1800440c8]
mov ecx, dword [rsp + 0xb0]
mov eax, dword [r9 + 0x58]
cmp dword [r9 + 0x38], eax
jl 0x18002953e
mov qword [rsp + 0x40], rbx
xor r8d, r8d
mov qword [rsp + 0x38], rbx
xor ecx, ecx
mov dword [r9 + 0x38], ebx
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea edx, [r9 + 0x24]
call fcn.18002c4e0
jmp 0x180029530
movzx eax, word [r13]
mov word [0x4000380], ax
movzx eax, word [r13 + 2]
mov word [0x4000382], ax
movzx eax, word [r13 + 4]
mov word [0x4000384], ax
movzx eax, word [r13 + 6]
mov word [0x4000386], ax
movzx eax, word [r13 + 8]
mov word [0x4000388], ax
movzx eax, word [r13 + 0xa]
mov word [0x400038a], ax
movzx eax, word [r13 + 0xc]
mov word [0x400038c], ax
movzx eax, word [r13 + 0xe]
mov word [0x400038e], ax
movzx eax, word [r13 + 0x10]
mov word [0x4000390], ax
movzx eax, word [r13 + 0x12]
mov word [0x4000392], ax
movzx eax, word [r13 + 0x14]
mov word [0x4000394], ax
movzx eax, word [r13 + 0x16]
mov word [0x4000396], ax
movzx eax, word [r13 + 0x18]
mov word [0x4000398], ax
movzx eax, word [r13 + 0x1a]
mov word [0x400039a], ax
movzx eax, word [r13 + 0x1c]
mov word [0x400039c], ax
movzx eax, word [r13 + 0x1e]
mov word [0x400039e], ax
movzx eax, word [r13 + 0x20]
mov word [0x40003a0], ax
movzx eax, word [r13 + 0x22]
mov word [0x40003a2], ax
movzx eax, word [r13 + 0x24]
mov word [0x40003a4], ax
movzx eax, word [r13 + 0x26]
mov word [0x40003a6], ax
movzx eax, word [r13 + 0x28]
mov word [0x40003a8], ax
movzx eax, word [r13 + 0x2a]
mov word [0x40003aa], ax
movzx eax, word [r13 + 0x2c]
mov word [0x40003ac], ax
movzx eax, word [r13 + 0x2e]
mov word [0x40003ae], ax
movzx eax, word [r13 + 0x30]
mov word [0x40003b0], ax
movzx eax, word [r13 + 0x32]
mov word [0x40003b2], ax
movzx eax, word [r13 + 0x34]
mov word [0x40003b4], ax
movzx eax, word [r13 + 0x36]
mov word [0x40003b6], ax
movzx eax, word [r13 + 0x38]
mov word [0x40003b8], ax
movzx eax, word [r13 + 0x3a]
mov word [0x40003ba], ax
movzx eax, word [r13 + 0x3c]
mov word [0x40003bc], ax
movzx eax, word [r13 + 0x3e]
mov word [0x40003be], ax
jmp 0x180029537
cmp dword [r12], 0
jle 0x18002953e
test r15, r15
je 0x180028fca
jmp 0x18002953e
movsx r8d, byte [r13]
mov ecx, r8d
sub ecx, 8
je 0x1800292ac
sub ecx, 1
je 0x180029346
sub ecx, 1
je 0x180029272
cmp ecx, 3
je 0x1800292a3
mov eax, dword [r9 + 0x54]
add eax, dword [r9 + 0x3c]
imul eax, dword [r9 + 0x48]
movzx edx, word [r9 + 0x64]
sub dx, word [r9 + 0x14]
add dx, r8w
or dx, word [r9 + 0x66]
add eax, dword [r9 + 0x50]
add eax, dword [r9 + 0x38]
movsxd rcx, eax
mov rax, qword [r9 + 0x20]
mov word [rax + rcx*2], dx
mov rax, qword [0x1800440c8]
inc dword [rax + 0x38]
jmp 0x180029359
mov qword [rsp + 0x40], rbx
xor r9d, r9d
mov qword [rsp + 0x38], rbx
xor r8d, r8d
mov qword [rsp + 0x30], rbx
xor ecx, ecx
mov qword [rsp + 0x28], rbx
lea edx, [r9 + 0x24]
mov qword [rsp + 0x20], rbx
call fcn.18002c4e0
mov r9, qword [0x1800440c8]
mov dword [r9 + 0x38], ebx
jmp 0x180029359
mov r10d, 4
mov eax, r10d
sub eax, 4
je 0x1800292c5
cmp eax, 1
je 0x180029360
jmp 0x180029339
dec dword [r9 + 0x38]
mov r8, qword [0x1800440c8]
cmp dword [r8 + 0x38], 0
jge 0x1800292ff
cmp dword [r8 + 0x3c], 0
jle 0x1800292f4
mov eax, dword [r8 + 0x50]
dec eax
mov dword [r8 + 0x38], eax
mov rax, qword [0x1800440c8]
dec dword [rax + 0x3c]
jmp 0x1800292f8
mov dword [r8 + 0x38], ebx
mov r8, qword [0x1800440c8]
mov eax, dword [r8 + 0x54]
add eax, dword [r8 + 0x3c]
imul eax, dword [r8 + 0x48]
movzx edx, word [r8 + 0x64]
sub dx, word [r8 + 0x14]
add dx, 0x20
or dx, word [r8 + 0x66]
add eax, dword [r8 + 0x50]
add eax, dword [r8 + 0x38]
movsxd rcx, eax
mov rax, qword [r8 + 0x20]
mov word [rax + rcx*2], dx
mov r9, qword [0x1800440c8]
inc r10d
cmp r10d, 6
jb 0x1800292b2
mov r8d, dword [r9 + 0x60]
mov eax, dword [r9 + 0x38]
cdq
idiv r8d
sub r8d, edx
add dword [r9 + 0x38], r8d
mov r9, qword [0x1800440c8]
mov ecx, dword [rsp + 0xb0]
mov r14d, 0x152
jmp 0x18002953e
cmp r14d, 0x1a4
je 0x1800294f1
cmp r14d, 0x267
je 0x1800294b2
cmp r14d, 0x32a
je 0x1800293a9
cmp r14d, 0x3ed
jne 0x180029543
mov al, 1
jmp 0x18002955b
mov eax, dword [rsp + 0x50]
mov word [0x18004414e], ax
cmp ebp, dword [r12]
jge 0x180029446
mov r13d, 0xffff
mov ebx, 7
nop dword [rax]
mov eax, ebx
sub eax, 7
je 0x1800293ea
cmp eax, 1
jne 0x180029431
inc ebp
mov word [0x18004414e], di
inc rsi
jmp 0x180029431
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [r9 + 0x75]
call fcn.1800219c0
cmp word [0x18004414c], r13w
lea rdx, [0x1800456b0]
mov edi, eax
jne 0x180029416
mov word [0x18004414c], di
jmp 0x180029423
movzx eax, word [0x18004414e]
add eax, eax
mov word [rdx + rax*4], di
mov eax, dword [r15 + rsi*4]
lea ecx, [rdi*2 + 1]
mov dword [rdx + rcx*4], eax
inc ebx
cmp ebx, 9
jb 0x1800293d0
cmp ebp, dword [r12]
jl 0x1800293c4
mov r13, qword [rsp + 0xb8]
mov ax, word [0x4000184]
mov ebx, 0xb5
mov ecx, dword [rsp + 0x60]
or ax, 4
mov word [0x4000184], ax
mov dword [rsp + 0x58], ecx
mov eax, ebx
sub eax, 0x26
je 0x1800294a0
sub eax, 0x11
je 0x18002948a
sub eax, 0x7e
je 0x180029481
cmp eax, 0x1caf
je 0x1800294ae
jmp 0x1800294a0
mov dword [0x4000208], ecx
jmp 0x1800294a0
xor edx, edx
lea rcx, [rsp + 0x58]
mov r8d, 0x4020
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [rsp + 0x58]
add ebx, 0x8b49
cmp ebx, 0x22d24
jbe 0x180029467
xor ebx, ebx
jmp 0x180029530
cmp word [0x18004414c], ax
jne 0x1800294c8
mov eax, dword [rsp + 0x50]
mov word [0x18004414c], ax
jmp 0x1800294da
movzx eax, word [0x18004414e]
lea ecx, [rax + rax]
mov eax, dword [rsp + 0x50]
mov word [rdx + rcx*4], ax
lea ecx, [rax*2 + 1]
mov eax, dword [r13]
mov dword [rdx + rcx*4], eax
mov ecx, dword [rsp + 0xb0]
jmp 0x18002953e
cmp dword [r12], 0x20
ja 0x180028fca
mov r9d, 0x104
mov qword [rsp + 0x20], rbx
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov ebp, ebx
mov rsi, rbx
call fcn.18000e170
xor r9d, r9d
mov dword [rsp + 0x60], eax
xor edx, edx
xor ecx, ecx
lea r8d, [r9 + 0x75]
call fcn.1800219c0
mov dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0xb0]
mov r9, qword [0x1800440c8]
mov eax, 0xffff
add r14d, 0xc3
cmp r14d, ecx
jb 0x180028f7b
movzx eax, byte [rsp + 0xb0]
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret