Function at 0x1400dbea0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
movzx r10d, byte [rcx]
lea r11, [0x140000000]
mov rdi, rdx
mov r9, rcx
lea eax, [r10 - 9]
cmp eax, 0x75
ja case.0x1400dbee3.34
cdqe
mov ebx, 1
movzx eax, byte [r11 + rax + 0xdc638]
mov r8d, dword [r11 + rax*4 + 0xdc5d0]
add r8, r11
jmp r8
movzx eax, byte [r9 + 1]
inc r9
test byte [rax + r11 + 0xf8430], bl
je 0x1400dbf16
nop dword [rax + rax]
movzx eax, byte [r9 + 1]
lea r9, [r9 + 1]
inc ebx
test byte [rax + r11 + 0xf8430], 1
jne 0x1400dbf00
mov dword [rdx], 0x95
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp byte [rcx + 1], 0x2d
jne 0x1400dbf66
mov edx, 2
add r9, rdx
movzx eax, byte [r9]
test eax, eax
je 0x1400dbf53
nop
cmp eax, 0xa
je 0x1400dbf53
movzx eax, byte [r9 + 1]
inc r9
inc edx
test eax, eax
jne 0x1400dbf40
mov dword [rdi], 0x95
mov eax, edx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x57
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x16
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x17
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], ebx
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x56
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x58
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp byte [rcx + 1], 0x2a
jne 0x1400dc024
movzx eax, byte [rcx + 2]
test al, al
je 0x1400dc024
mov edx, 3
mov ecx, eax
add r9, rdx
cmp ecx, 0x2a
jne 0x1400dbffc
cmp byte [r9], 0x2f
je 0x1400dc00b
movzx ecx, byte [r9]
test ecx, ecx
je 0x1400dc00b
inc edx
inc r9
jmp 0x1400dbff1
test ecx, ecx
mov dword [rdi], 0x95
lea eax, [rdx + 1]
cmove eax, edx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x59
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x5a
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x4c
xor edx, edx
cmp byte [rcx + 1], 0x3d
sete dl
lea eax, [rdx + 1]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rcx + 1]
cmp al, 0x3d
jne 0x1400dc087
mov dword [rdx], 0x4e
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp al, 0x3e
je 0x1400dc126
cmp al, 0x3c
jne 0x1400dc0a9
mov dword [rdx], 0x54
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x4f
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rcx + 1]
cmp al, 0x3d
jne 0x1400dc0db
mov dword [rdx], 0x50
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp al, 0x3e
jne 0x1400dc0f5
mov dword [rdx], 0x55
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x4d
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp byte [rcx + 1], 0x3d
je 0x1400dc126
mov eax, 0x94
mov dword [rdx], eax
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x4b
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp byte [rcx + 1], 0x7c
je 0x1400dc156
mov dword [rdx], 0x53
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x5b
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x19
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x52
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x5d
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx ecx, byte [r9 + 1]
inc r9
test ecx, ecx
je 0x1400dc1d8
cmp ecx, r10d
jne 0x1400dc1ca
lea rax, [r9 + 1]
mov r9, rax
movzx eax, byte [rax]
cmp eax, r10d
jne 0x1400dc1d8
inc ebx
movzx ecx, byte [r9 + 1]
inc r9
inc ebx
test ecx, ecx
jne 0x1400dc1b4
cmp ecx, 0x27
jne 0x1400dc1f1
mov dword [rdx], 0x5e
lea eax, [rbx + 1]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test ecx, ecx
je 0x1400dc20a
mov edx, 0x1a
lea eax, [rbx + 1]
mov dword [rdi], edx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov eax, 0x94
mov dword [rdx], eax
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rcx + 1]
test byte [rax + r11 + 0xf8430], 4
jne case.0x1400dbee3.24
mov dword [rdx], 0x76
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x81
xor edx, edx
test byte [r10 + r11 + 0xf8430], 4
je 0x1400dc269
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 1]
inc edx
test byte [rax + r11 + 0xf8430], 4
jne 0x1400dc254
movsxd rax, edx
cmp byte [rax + r9], 0x2e
jne 0x1400dc2ab
inc edx
movsxd rcx, edx
add rcx, r9
movzx eax, byte [rcx]
test byte [rax + r11 + 0xf8430], 4
je 0x1400dc2a5
nop dword [rax]
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 1]
inc edx
test byte [rax + r11 + 0xf8430], 4
jne 0x1400dc290
mov dword [rdi], 0x82
movsxd rcx, edx
movzx eax, byte [rcx + r9]
sub al, 0x45
test al, 0xdf
jne 0x1400dc32b
movzx eax, byte [rcx + r9 + 1]
test byte [rax + r11 + 0xf8430], 4
jne 0x1400dc2f0
sub al, 0x2b
test al, 0xfd
jne 0x1400dc32b
lea r8d, [rdx + 2]
movsxd rax, r8d
movzx ecx, byte [rax + r9]
test byte [rcx + r11 + 0xf8430], 4
je 0x1400dc32b
movsxd rdx, r8d
lea rcx, [r9 + rdx]
jmp 0x1400dc310
add edx, 2
movsxd rcx, edx
add rcx, r9
movzx eax, byte [rcx]
test byte [rax + r11 + 0xf8430], 4
je 0x1400dc325
nop word [rax + rax]
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 1]
inc edx
test byte [rax + r11 + 0xf8430], 4
jne 0x1400dc310
mov dword [rdi], 0x82
movsxd r8, edx
add r8, r9
movzx eax, byte [r8]
test byte [rax + r11 + 0xf8430], 0x46
je 0x1400dc368
mov eax, 0x94
nop word [rax + rax]
movzx ecx, byte [r8 + 1]
lea r8, [r8 + 1]
inc edx
mov dword [rdi], eax
test byte [rcx + r11 + 0xf8430], 0x46
jne 0x1400dc350
mov eax, edx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
inc r9
movzx ecx, byte [r9]
test ecx, ecx
je 0x1400dc38a
inc ebx
inc r9
cmp ecx, 0x5d
jne 0x1400dc378
cmp ecx, 0x5d
mov eax, 0x94
mov edx, 0x1a
cmove eax, edx
mov dword [rdi], eax
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [r9 + 1]
inc r9
mov dword [rdx], 0x85
test byte [rax + r11 + 0xf8430], 4
je 0x1400dc5c1
nop word [rax + rax]
movzx eax, byte [r9 + 1]
lea r9, [r9 + 1]
inc ebx
test byte [rax + r11 + 0xf8430], 4
jne 0x1400dc3d0
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rcx + 1]
lea rdx, [rcx + 1]
mov r8d, ebx
test byte [rax + r11 + 0xf8430], 4
je case.0x1400dbee3.13
nop dword [rax]
movzx ecx, byte [rdx + 1]
lea rdx, [rdx + 1]
inc r8d
test byte [rcx + r11 + 0xf8430], 4
jne 0x1400dc410
cmp r8d, ebx
jle case.0x1400dbee3.13
mov dword [rdi], 0x84
mov eax, r8d
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx r8d, byte [r9 + 1]
xor edx, edx
mov dword [rdi], 0x85
test r8d, r8d
je 0x1400dc499
mov rcx, rbx
test byte [r8 + r11 + 0xf8430], 0x46
je 0x1400dc463
inc edx
jmp 0x1400dc47b
cmp r8d, 0x28
je 0x1400dc48d
cmp r8d, 0x3a
jne 0x1400dc491
cmp byte [r9 + rcx + 1], r8b
jne 0x1400dc491
inc ebx
inc rcx
movzx r8d, byte [rcx + r9 + 1]
inc rcx
inc ebx
test r8d, r8d
jne 0x1400dc454
jmp 0x1400dc491
test edx, edx
jg 0x1400dc4ad
test edx, edx
jne 0x1400dc5c1
mov eax, 0x94
mov dword [rdi], eax
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rdx, [rcx + r9]
movzx ecx, byte [rdx + 1]
lea rdx, [rdx + 1]
inc ebx
test cl, cl
je 0x1400dc499
test byte [rcx + r11 + 0xf8430], 1
jne 0x1400dc4cf
cmp cl, 0x29
jne 0x1400dc4b1
cmp cl, 0x29
jne 0x1400dc499
inc ebx
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp byte [rcx + 1], 0x27
jne case.0x1400dbee3.34
mov dword [rdx], 0x83
mov edx, 2
add rcx, rdx
movzx eax, byte [rcx]
test byte [rax + r11 + 0xf8430], 8
je 0x1400dc51a
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 1]
inc edx
test byte [rax + r11 + 0xf8430], 8
jne 0x1400dc505
movsxd r8, edx
add r8, r9
movzx ecx, byte [r8]
cmp cl, 0x27
jne 0x1400dc52d
test bl, dl
je 0x1400dc54b
mov eax, 0x94
mov dword [rdi], eax
test cl, cl
je 0x1400dc54b
cmp cl, 0x27
je 0x1400dc54b
movzx ecx, byte [r8 + 1]
inc r8
inc edx
test cl, cl
jne 0x1400dc538
movsxd rax, edx
lea ecx, [rdx + 1]
cmp byte [rax + r9], 0
cmove ecx, edx
mov eax, ecx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test byte [r10 + r11 + 0xf8430], 0x46
jne 0x1400dc588
mov eax, 0x94
mov dword [rdx], eax
mov eax, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rcx + 1]
inc rcx
mov ebx, 1
test byte [rax + r11 + 0xf8430], 0x46
je 0x1400dc5b5
nop
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 1]
inc ebx
test byte [rax + r11 + 0xf8430], 0x46
jne 0x1400dc5a0
mov edx, ebx
mov rcx, r9
call fcn.1400dbd60
mov dword [rdi], eax
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret