Function at 0x1401ac370
Capabilities:
Parse pe header

Disassembly:
push qword [rbx]
fild dword [rbp - 0x537af00a]
add byte [rax], al
add byte [rax - 0x75], cl
retf
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov r9, rcx
lea r11, [0x140000000]
movzx ecx, byte [rcx]
mov rdi, rdx
lea eax, [rcx - 9]
cmp eax, 0x75
ja case.0x1401ac3b1.34
cdqe
mov ebx, 1
movzx eax, byte [r11 + rax + 0x1acb38]
mov r8d, dword [r11 + rax*4 + 0x1acad0]
add r8, r11
jmp r8
movzx eax, byte [r9 + 1]
inc r9
test byte [rax + r11 + 0x253730], bl
je 0x1401ac3e6
nop word [rax + rax]
movzx eax, byte [r9 + 1]
lea r9, [r9 + 1]
inc ebx
test byte [rax + r11 + 0x253730], 1
jne 0x1401ac3d0
mov dword [rdx], 0x95
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp byte [r9 + 1], 0x2d
jne 0x1401ac436
mov ecx, 2
add r9, rcx
movzx eax, byte [r9]
test eax, eax
je 0x1401ac423
cmp eax, 0xa
je 0x1401ac423
movzx eax, byte [r9 + 1]
inc r9
inc ecx
test eax, eax
jne 0x1401ac410
mov dword [rdx], 0x95
mov eax, ecx
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 [r9 + 1], 0x2a
jne 0x1401ac4f3
movzx eax, byte [r9 + 2]
test al, al
je 0x1401ac4f3
mov ecx, 3
movzx eax, al
add r9, rcx
cmp eax, 0x2a
jne 0x1401ac4cf
cmp byte [r9], 0x2f
je 0x1401ac4de
movzx eax, byte [r9]
test eax, eax
je 0x1401ac4e0
inc ecx
inc r9
jmp 0x1401ac4c4
inc ecx
mov dword [rdx], 0x95
mov eax, ecx
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 [r9 + 1], 0x3d
sete dl
lea eax, [rdx + 1]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [r9 + 1]
cmp eax, 0x3d
jne 0x1401ac559
mov dword [rdx], 0x4e
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp eax, 0x3e
jne 0x1401ac574
mov dword [rdx], 0x4b
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp eax, 0x3c
jne 0x1401ac58f
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 [r9 + 1]
cmp eax, 0x3d
jne 0x1401ac5c3
mov dword [rdx], 0x50
mov eax, 2
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp eax, 0x3e
jne 0x1401ac5de
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 [r9 + 1], 0x3d
mov eax, 2
je 0x1401ac612
mov r8d, 0x94
mov dword [rdx], r8d
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdx], 0x4b
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp byte [r9 + 1], 0x7c
je 0x1401ac63e
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 r8d, byte [r9 + 1]
lea rdx, [r9 + 1]
test r8d, r8d
je 0x1401ac6c9
add r9, 2
cmp r8d, ecx
jne 0x1401ac6b7
movzx eax, byte [r9]
cmp eax, ecx
jne 0x1401ac6c9
inc ebx
inc r9
inc rdx
movzx r8d, byte [rdx + 1]
inc rdx
inc ebx
inc r9
test r8d, r8d
jne 0x1401ac6a2
cmp r8d, 0x27
jne 0x1401ac6e3
mov dword [rdi], 0x5e
lea eax, [rbx + 1]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test r8d, r8d
je 0x1401ac6fd
mov eax, 0x1a
mov dword [rdi], eax
lea eax, [rbx + 1]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov r8d, 0x94
mov eax, ebx
mov dword [rdi], r8d
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [r9 + 1]
test byte [rax + r11 + 0x253730], 4
jne case.0x1401ac3b1.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
movzx eax, byte [r9]
test byte [rax + r11 + 0x253730], 4
je 0x1401ac766
mov rcx, r9
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 1]
inc edx
test byte [rax + r11 + 0x253730], 4
jne 0x1401ac751
movsxd rax, edx
cmp byte [rax + r9], 0x2e
jne 0x1401ac7a1
inc edx
movsxd rcx, edx
add rcx, r9
movzx eax, byte [rcx]
test byte [rax + r11 + 0x253730], 4
je 0x1401ac79b
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 1]
inc edx
test byte [rax + r11 + 0x253730], 4
jne 0x1401ac786
mov dword [rdi], 0x82
movsxd rax, edx
movzx ecx, byte [rax + r9]
sub cl, 0x45
test cl, 0xdf
jne 0x1401ac81b
lea eax, [rdx + 1]
movsxd rcx, eax
movzx eax, byte [rcx + r9]
test byte [rax + r11 + 0x253730], 4
jne 0x1401ac7e3
sub al, 0x2b
test al, 0xfd
jne 0x1401ac81b
lea eax, [rdx + 2]
movsxd rcx, eax
movzx eax, byte [rcx + r9]
test byte [rax + r11 + 0x253730], 4
je 0x1401ac81b
add edx, 2
movsxd rcx, edx
add rcx, r9
movzx eax, byte [rcx]
test byte [rax + r11 + 0x253730], 4
je 0x1401ac815
nop word [rax + rax]
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 1]
inc edx
test byte [rax + r11 + 0x253730], 4
jne 0x1401ac800
mov dword [rdi], 0x82
movsxd r10, edx
add r10, r9
movzx eax, byte [r10]
test byte [rax + r11 + 0x253730], 0x46
je 0x1401ac858
mov r8d, 0x94
nop word [rax + rax]
lea r10, [r10 + 1]
mov dword [rdi], r8d
movzx ecx, byte [r10]
inc edx
test byte [rcx + r11 + 0x253730], 0x46
jne 0x1401ac840
mov eax, edx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp ecx, 0x5d
je 0x1401ac882
inc r9
nop dword [rax]
movzx ecx, byte [r9]
test ecx, ecx
je 0x1401ac882
inc ebx
inc r9
cmp ecx, 0x5d
jne 0x1401ac870
mov eax, 0x1a
cmp ecx, 0x5d
mov r8d, 0x94
cmove r8d, eax
mov eax, ebx
mov dword [rdx], r8d
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
inc r9
mov dword [rdx], 0x85
movzx eax, byte [r9]
test byte [rax + r11 + 0x253730], 4
je 0x1401acac1
movzx eax, byte [r9 + 1]
lea r9, [r9 + 1]
inc ebx
test byte [rax + r11 + 0x253730], 4
jne 0x1401ac8c0
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [r9 + 1]
lea rdx, [r9 + 1]
mov r8d, ebx
test byte [rax + r11 + 0x253730], 4
je case.0x1401ac3b1.13
nop word [rax + rax]
movzx ecx, byte [rdx + 1]
lea rdx, [rdx + 1]
inc r8d
test byte [rcx + r11 + 0x253730], 4
jne 0x1401ac900
cmp r8d, ebx
jle case.0x1401ac3b1.13
mov dword [rdi], 0x84
mov eax, r8d
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rdi], 0x85
xor edx, edx
movzx r10d, byte [r9 + 1]
mov r8d, 0x94
test r10d, r10d
je 0x1401ac9d7
mov rcx, rbx
nop
movzx eax, r10b
test byte [rax + r11 + 0x253730], 0x46
je 0x1401ac963
inc edx
jmp 0x1401ac97b
cmp r10d, 0x28
je 0x1401ac98d
cmp r10d, 0x3a
jne 0x1401ac9cf
cmp byte [r9 + rcx + 1], r10b
jne 0x1401ac9cf
inc ebx
inc rcx
movzx r10d, byte [rcx + r9 + 1]
inc rcx
inc ebx
test r10d, r10d
jne 0x1401ac950
jmp 0x1401ac9cf
test edx, edx
jle 0x1401ac9d1
lea r10, [rcx + r9]
nop word [rax + rax]
movzx ecx, byte [r10 + 1]
lea r10, [r10 + 1]
inc ebx
test ecx, ecx
je 0x1401ac9c3
test byte [rcx + r11 + 0x253730], 1
jne 0x1401ac9c3
cmp ecx, 0x29
jne 0x1401ac9a0
inc ebx
jmp 0x1401ac9cf
cmp ecx, 0x29
jne 0x1401ac9cc
inc ebx
jmp 0x1401ac9cf
mov dword [rdi], r8d
test edx, edx
jne 0x1401acac1
mov dword [rdi], r8d
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
cmp byte [r9 + 1], 0x27
jne case.0x1401ac3b1.34
mov ecx, 2
mov dword [rdx], 0x83
add r9, rcx
mov r8d, 0x94
movzx eax, byte [r9]
test eax, eax
je 0x1401aca34
nop word [rax + rax]
cmp eax, 0x27
je 0x1401aca34
movzx eax, al
test byte [rax + r11 + 0x253730], 8
jne 0x1401aca26
mov dword [rdx], r8d
movzx eax, byte [r9 + 1]
inc r9
inc ecx
test eax, eax
jne 0x1401aca10
mov edx, ecx
and edx, 0x80000001
jge 0x1401aca45
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
jne 0x1401aca4d
test eax, eax
jne 0x1401aca54
mov dword [rdi], r8d
test eax, eax
je 0x1401aca56
inc ecx
mov eax, ecx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
test byte [rcx + r11 + 0x253730], 0x46
jne 0x1401aca87
mov r8d, 0x94
mov eax, 1
mov dword [rdx], r8d
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [r9 + 1]
lea rcx, [r9 + 1]
mov ebx, 1
test byte [rax + r11 + 0x253730], 0x46
je 0x1401acab5
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 1]
inc ebx
test byte [rax + r11 + 0x253730], 0x46
jne 0x1401acaa0
mov edx, ebx
mov rcx, r9
call fcn.14018acf0
mov dword [rdi], eax
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret