Function at 0x14004c2b0
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x68
mov rax, qword [0x14007d6a8]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r12, qword [rsp + 0xc0]
test r8d, r8d
mov ebp, 0x20
mov dword [rsp + 0x30], 1
mov eax, 0x10
mov r15d, r9d
cmovne ebp, eax
mov esi, r8d
inc dword [r12]
mov r13, rdx
cmp dword [r12], 0x3e8
mov rdi, rcx
jle 0x14004c311
mov eax, 4
jmp 0x14004cb26
movzx ecx, byte [rdx]
xor r11d, r11d
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], r14
mov r14d, 1
lea eax, [rcx + 0x78]
lea r10, [0x140000000]
mov r8d, 4
lea rbx, [r13 + 3]
cmp al, r14b
jbe 0x14004c348
add cl, 0x73
cmp cl, r14b
ja 0x14004c350
add rbx, 2
nop dword [rax]
movzx edx, byte [rbx]
mov r9, r11
cmp edx, 0xa6
ja case.0x14004c376.32
movzx eax, byte [r10 + rdx + 0x4cbd0]
mov ecx, dword [r10 + rax*4 + 0x4cb44]
add rcx, r10
jmp rcx
movzx eax, byte [0x140073d9b]
add rbx, rax
jmp 0x14004c96a
inc rbx
jmp 0x14004c96a
mov r9d, r15d
mov qword [rsp + 0x20], r12
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call fcn.14004c2b0
cmp eax, 1
je case.0x14004c93c.100
cmp eax, 2
jne 0x14004cb1c
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x78
je 0x14004c3c0
add rbx, 3
xor r11d, r11d
jmp 0x14004c96a
movzx eax, byte [0x140073df6]
add rbx, rax
jmp 0x14004c96a
movzx ecx, byte [rbx + 5]
movzx eax, byte [rbx + 6]
shl rcx, 8
or rcx, rax
add rbx, rcx
jmp 0x14004c96a
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x78
je case.0x14004c376.29
add rbx, 3
jmp 0x14004c96a
inc rbx
mov qword [rsp + 0x20], r12
mov rdx, rbx
mov r9d, r15d
mov r8d, esi
mov rcx, rdi
call fcn.14004c2b0
mov ecx, eax
test eax, eax
je 0x14004cb04
add eax, 0xfffffffd
cmp eax, 1
jbe 0x14004cb04
nop
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x78
je 0x14004c460
add rbx, 3
xor r11d, r11d
jmp 0x14004c96a
inc rbx
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x78
je 0x14004c490
add rbx, 3
jmp 0x14004c96a
lea rdx, [rbx + 1]
xor r8d, r8d
mov r9d, esi
mov dword [rsp + 0x20], r15d
mov rcx, rdi
call fcn.14004ccf0
xor r11d, r11d
jmp 0x14004c967
lea rdx, [rbx + 1]
mov dword [rsp + 0x20], r15d
mov r9d, esi
mov r8d, 1
mov rcx, rdi
call fcn.14004ccf0
xor r11d, r11d
jmp 0x14004c967
lea rdx, [rbx + 3]
jmp 0x14004c4b4
lea rdx, [rbx + 3]
mov r8d, 1
jmp 0x14004c4b7
add rbx, 2
movzx eax, byte [rbx + 1]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x14004c524.12
cdqe
mov ecx, dword [r10 + rax*4 + 0x4cc78]
add rcx, r10
jmp rcx
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
test esi, esi
je 0x14004c543
or byte [rdi + 0x40], 4
or byte [rdi + 0x44], 0xe
add rbx, 2
jmp 0x14004c96a
or byte [rdi + 0x3c], 1
add rbx, 2
jmp 0x14004c96a
or byte [rdi + 0x29], 0x3c
test esi, esi
je 0x14004c569
or byte [rdi + 0x40], 4
or byte [rdi + 0x44], 4
add rbx, 2
jmp 0x14004c96a
or byte [rdi + 0x38], 0x20
add rbx, 2
jmp 0x14004c96a
mov r8d, ebp
mov edx, 0x40
mov rcx, rdi
call fcn.14004c250
xor r11d, r11d
add rbx, 2
jmp 0x14004c96a
mov edx, 0x40
jmp 0x14004c5d7
mov r8d, ebp
xor edx, edx
mov rcx, rdi
call fcn.14004c250
xor r11d, r11d
add rbx, 2
jmp 0x14004c96a
xor edx, edx
jmp 0x14004c5d7
mov r8d, ebp
mov edx, 0xa0
mov rcx, rdi
call fcn.14004c250
xor r11d, r11d
add rbx, 2
jmp 0x14004c96a
mov edx, 0xa0
mov r8d, ebp
mov rcx, rdi
call fcn.14004cf40
xor r11d, r11d
add rbx, 2
jmp 0x14004c96a
movzx ecx, byte [rbx + 3]
test cl, 4
jne case.0x14004c524.12
movzx eax, cl
and al, 3
cmp al, 1
je case.0x14004c524.12
test cl, 2
lea rax, [rbx + 4]
cmovne r11, rax
mov r9, r11
test esi, esi
je case.0x14004c376.21
test cl, 1
jne case.0x14004c376.22
movzx edx, byte [rbx + 1]
test r11, r11
movzx ecx, byte [rbx + 2]
mov eax, 0x24
cmove rax, r8
shl rdx, 8
or rdx, rcx
add rax, rbx
add rbx, rdx
nop dword [rax + rax]
movzx edx, byte [rax]
inc rax
test edx, edx
je 0x14004c751
sub edx, 1
je 0x14004c70a
cmp edx, 1
jne case.0x14004c376.32
movzx r9d, byte [rax]
inc rax
movzx r10d, byte [rax]
movzx ecx, r10b
and cl, 0xc0
cmp cl, 0x80
jne 0x14004c6a4
nop word [rax + rax]
movzx r10d, byte [rax + 1]
inc rax
movzx ecx, r10b
and cl, 0xc0
cmp cl, 0x80
je 0x14004c690
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
jne 0x14004c6cf
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x14004c6c0
cmp r9b, r10b
ja 0x14004c650
nop dword [rax + rax]
movzx r8d, r9b
shr r8, 3
movzx ecx, r9b
inc r9b
and ecx, 7
movzx edx, byte [r8 + rdi + 0x28]
bts edx, ecx
mov byte [r8 + rdi + 0x28], dl
cmp r9b, r10b
jbe 0x14004c6e0
jmp 0x14004c650
movzx r9d, byte [rax]
inc rax
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x14004c72f
nop dword [rax]
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x14004c720
movzx r8d, r9b
shr r8, 3
movzx ecx, r9b
and ecx, 7
movzx edx, byte [r8 + rdi + 0x28]
bts edx, ecx
mov byte [r8 + rdi + 0x28], dl
jmp 0x14004c650
mov r9, r11
lea r10, [0x140000000]
jmp 0x14004c79c
test esi, esi
je case.0x14004c376.21
or byte [rdi + 0x40], 0xf0
mov rax, 0xffffffffffffffff
mov dword [rdi + 0x41], eax
mov word [rdi + 0x45], ax
mov byte [rdi + 0x47], al
movzx edx, byte [rbx]
lea rax, [rbx + 1]
cmp dl, 0x70
jne 0x14004c795
movzx ecx, byte [rax]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
jmp 0x14004c79c
mov r9, rax
lea rbx, [rax + 0x20]
test r9, r9
je 0x14004c920
movzx eax, byte [r9]
or byte [rdi + 0x28], al
movzx eax, byte [r9 + 1]
or byte [rdi + 0x29], al
movzx eax, byte [rdi + 0x2a]
movzx ecx, byte [r9 + 2]
or al, cl
mov byte [rdi + 0x2a], al
movzx eax, byte [r9 + 3]
or byte [rdi + 0x2b], al
movzx eax, byte [r9 + 4]
or byte [rdi + 0x2c], al
movzx eax, byte [r9 + 5]
or byte [rdi + 0x2d], al
movzx eax, byte [r9 + 6]
or byte [rdi + 0x2e], al
movzx eax, byte [r9 + 7]
or byte [rdi + 0x2f], al
movzx eax, byte [r9 + 8]
or byte [rdi + 0x30], al
movzx eax, byte [r9 + 9]
or byte [rdi + 0x31], al
movzx eax, byte [r9 + 0xa]
or byte [rdi + 0x32], al
movzx eax, byte [r9 + 0xb]
or byte [rdi + 0x33], al
movzx eax, byte [r9 + 0xc]
or byte [rdi + 0x34], al
movzx eax, byte [r9 + 0xd]
or byte [rdi + 0x35], al
movzx eax, byte [r9 + 0xe]
or byte [rdi + 0x36], al
movzx eax, byte [r9 + 0xf]
or byte [rdi + 0x37], al
test esi, esi
je 0x14004c8a0
mov r8d, 0x80
nop dword [rax]
nop dword [rax + rax]
mov eax, r8d
mov ecx, r8d
and ecx, 7
shr rax, 3
mov edx, 1
shl edx, cl
test byte [rax + r9], dl
je 0x14004c88f
mov edx, r8d
or edx, 0x3000
shr edx, 6
mov eax, edx
test edx, edx
jns 0x14004c86f
lea eax, [rdx + 7]
sar eax, 3
and edx, 7
movsxd rcx, eax
and r8d, 0xc0
movzx eax, byte [rcx + rdi + 0x28]
bts eax, edx
mov byte [rcx + rdi + 0x28], al
add r8d, 0x3f
inc r8d
cmp r8d, 0x100
jb 0x14004c840
jmp 0x14004c920
movzx eax, byte [r9 + 0x10]
or byte [rdi + 0x38], al
movzx eax, byte [r9 + 0x11]
or byte [rdi + 0x39], al
movzx eax, byte [r9 + 0x12]
or byte [rdi + 0x3a], al
movzx eax, byte [r9 + 0x13]
or byte [rdi + 0x3b], al
movzx eax, byte [r9 + 0x14]
or byte [rdi + 0x3c], al
movzx eax, byte [r9 + 0x15]
or byte [rdi + 0x3d], al
movzx eax, byte [r9 + 0x16]
or byte [rdi + 0x3e], al
movzx eax, byte [r9 + 0x17]
or byte [rdi + 0x3f], al
movzx eax, byte [r9 + 0x18]
or byte [rdi + 0x40], al
movzx eax, byte [r9 + 0x19]
or byte [rdi + 0x41], al
movzx eax, byte [r9 + 0x1a]
or byte [rdi + 0x42], al
movzx eax, byte [r9 + 0x1b]
or byte [rdi + 0x43], al
movzx eax, byte [r9 + 0x1c]
or byte [rdi + 0x44], al
movzx eax, byte [r9 + 0x1d]
or byte [rdi + 0x45], al
movzx eax, byte [r9 + 0x1e]
or byte [rdi + 0x46], al
movzx eax, byte [r9 + 0x1f]
or byte [rdi + 0x47], al
movzx eax, byte [rbx]
add eax, 0xffffff9e
cmp eax, 0xb
ja case.0x14004c93c.100
cdqe
mov ecx, dword [r10 + rax*4 + 0x4ccb8]
add rcx, r10
jmp rcx
inc rbx
xor r11d, r11d
jmp 0x14004c96a
movzx eax, byte [rbx + 2]
mov r11d, 0
movzx ecx, byte [rbx + 1]
shl ecx, 8
or ecx, eax
lea rax, [rbx + 5]
cmovne r14d, r11d
test ecx, ecx
cmovne rax, rbx
mov rbx, rax
test r14d, r14d
je 0x14004cade
mov r8d, 4
lea r10, [0x140000000]
jmp 0x14004c350
cmp byte [rbx + 1], 0xa
jne case.0x14004c524.12
movzx eax, byte [rbx + 2]
lea rbx, [rax*4 + 0x57d90]
add rbx, r10
mov r8d, dword [rbx]
cmp r8d, 0xffffffff
jae 0x14004cade
nop dword [rax + rax]
lea rbx, [rbx + 4]
test esi, esi
je 0x14004c9cb
lea rdx, [rsp + 0x34]
mov ecx, r8d
call fcn.14004b220
movzx r8d, byte [rsp + 0x34]
cmp r8d, 0xff
jbe 0x14004c9da
or byte [rdi + 0x47], 0x80
jmp 0x14004c9f2
mov ecx, r8d
and r8d, 7
shr rcx, 3
movzx eax, byte [rcx + rdi + 0x28]
bts eax, r8d
mov byte [rcx + rdi + 0x28], al
mov r8d, dword [rbx]
cmp r8d, 0xffffffff
jb 0x14004c9b0
jmp case.0x14004c93c.100
mov edx, 2
mov dword [rsp + 0x30], edx
jmp 0x14004cae2
add rbx, 2
lea rdx, [rbx + 1]
mov dword [rsp + 0x20], r15d
mov r9d, esi
xor r8d, r8d
mov rcx, rdi
call fcn.14004ccf0
jmp case.0x14004c93c.100
add rbx, 2
lea rdx, [rbx + 1]
mov dword [rsp + 0x20], r15d
mov r9d, esi
mov r8d, 1
mov rcx, rdi
call fcn.14004ccf0
jmp case.0x14004c93c.100
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
mov edx, dword [rsp + 0x30]
test esi, esi
je 0x14004ca6b
or byte [rdi + 0x40], 4
or byte [rdi + 0x44], 0xe
jmp 0x14004cae2
or byte [rdi + 0x3c], 1
jmp 0x14004cae2
or byte [rdi + 0x29], 0x3c
mov edx, dword [rsp + 0x30]
test esi, esi
je 0x14004ca87
or byte [rdi + 0x40], 4
or byte [rdi + 0x44], 4
jmp 0x14004cae2
or byte [rdi + 0x38], 0x20
jmp 0x14004cae2
mov r8d, ebp
mov edx, 0x40
mov rcx, rdi
call fcn.14004c250
jmp case.0x14004c93c.100
mov edx, 0x40
jmp 0x14004cad0
mov r8d, ebp
xor edx, edx
mov rcx, rdi
call fcn.14004c250
jmp case.0x14004c93c.100
xor edx, edx
jmp 0x14004cad0
mov r8d, ebp
mov edx, 0xa0
mov rcx, rdi
call fcn.14004c250
jmp case.0x14004c93c.100
mov edx, 0xa0
mov r8d, ebp
mov rcx, rdi
call fcn.14004cf40
xor r11d, r11d
mov edx, dword [rsp + 0x30]
movzx ecx, byte [r13 + 1]
movzx eax, byte [r13 + 2]
shl rcx, 8
or rcx, rax
add r13, rcx
cmp byte [r13], 0x78
jne 0x14004cb08
mov cl, 0x78
jmp 0x14004c321
mov eax, ecx
jmp 0x14004cb1c
mov eax, edx
jmp 0x14004cb1c
mov eax, 2
jmp 0x14004cb1c
xor eax, eax
jmp 0x14004cb1c
mov eax, 3
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14004e550
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret