Function at 0x14016d877
Capabilities:
Parse pe header

Disassembly:
lea rdi, [rdi + r9 - 0xff08]
setl r9b
and sil, 0xad
shl r10d, cl
mov dword [rdi + r9*4 - 0x3fc00], r10d
jmp r11
not r8d
pop rdi
shr r8b, 0x41
xchg rsi, r8
movsxd rdx, edx
btc si, 0xb4
inc al
xadd si, r11w
adc rbx, rdx
sal ax, 0xc4
jb 0x1402a9dce
mov ebx, 0x1b09aa29
mov ecx, 0x6982cc0b
mov edx, 0x1f86e8b9
movzx cx, byte [r8 + rbx*2 - 0x36135452]
lea rbp, [rdx*2 - 0x684e35f5]
mov bl, byte [r8 + rbx - 0x1b09aa27]
sal dl, 0xc1
lea r9, [rbp + 0x19bbc229]
sar r9d, 0x4b
lea r8, [rdx + r8 - 0x1f86e870]
bt r9d, ebp
shr dl, 0xc1
not cl
not r9w
not bl
lea rsi, [rdx*4 - 0x6b7a7541]
cmovg dx, si
or cl, bl
add r9w, dx
dec dl
shl esi, 0xbf
mov word [r8 + rdx*2 - 0x3f0c5744], cx
sar dx, 0x2e
lea rax, [rdx + rsi*4 + 0x1da5afab]
btc r9w, dx
lea r10, [r10 + rdx - 0x1f860004]
call fcn.1402acdae
mov r10d, dword [rdi + r9*4 - 0x3fcc0]
xchg cl, r9b
mov cl, byte [rdi + r9*2 - 0x1fe10]
shl ax, 0x64
adc rdx, r9
jne 0x1400eb24c
pop r11
lea rbx, [r9 - 0x4260c27e]
movsxd rsi, esi
add rdi, rsi
bt ax, bp
lea rbp, [r9*8 + 0x6d34b819]
cdq
mov r9, qword [r8 + rcx*2]
ror ebx, 0xf1
lea r8, [r8 + rcx + 8]
movzx esi, bl
lea r10, [r10 + rcx - 1]
btc edx, 0xa8
rol cl, 0x22
add rcx, rbx
mov sil, byte [r10 + rsi*4 - 0xb0]
xor sil, r11b
bt rcx, rbx
sbb sil, 0x8e
not dx
rol bl, 0xc6
shl rbp, cl
neg sil
not rbp
sal bl, 0xe7
inc rcx
sbb sil, dl
add ebx, 0x2e29a38c
xchg bl, al
ror sil, 1
and ecx, 0xe43c0499
neg sil
add sil, 0x14
dec rax
lea rdx, [rbx*4 - 0x2ffeabee]
neg rbp
ror sil, 1
sal dl, 0xa5
xor r11b, sil
sal bp, cl
adc rsi, rsp
bt rbp, rax
shr rbx, cl
mov qword [rsi + rbx*8 - 0x3f3ab98], r9
call fcn.1402355ec
mov r9d, 0x312dd81e
mov rbx, qword [r10 + r9*2 - 0x625bb03c]
movsx r11d, r9b
shr r9w, 0xe8
mov ax, word [r10 + r9 - 0x312d00d0]
movzx ecx, r11b
lea r10, [r10 + r9*2 - 0x625a01a6]
jae 0x1402bd78f
lea r10, [r10 + rcx + 6]
mov word [r10 + rcx*2], si
mov esi, eax
movsx r8d, r9b
add rcx, rbx
jmp rcx
movzx si, byte [r8 + r9*2 - 0x781be9a0]
inc r11w
ja 0x140143097
mov qword [rsp + rdi*2 - 0x5944ee5e], rdi
shr r10d, cl
ror qword [rsp + rdi*2 - 0x5944ee5e], 0x1e
lea rcx, [rdi*2 + 0x369d0a88]
call fcn.1401f4779
ror ax, 1
call fcn.1401428d9
mov edi, 0x55a5169d
push rdi
lea r10, [r10 + rdi - 0x55a516a1]
movzx edx, di
mov ebx, 0x65b8de86
mov r9d, dword [rdi + r10 - 0x55a5169d]
xor r9d, esi
sub r9d, 0x8b38b9a9
movsx eax, byte [rsp + rdx*2 - 0x2d38]
bswap r9d
cwde
sar rax, 8
movzx r11d, bx
not r9d
rol qword [rsp + rdx - 0x169d], 0x81
xor r9d, 0x3d37ab05
mov qword [rsp + rdi - 0x55a5169d], rsi
xor dword [rsp + rdx*2 - 0x2d3a], r9d
movsx ecx, al
pop rsi
rol rdi, cl
not ebx
movsxd r9, r9d
bt rdx, rdi
btc edx, edi
inc ax
adc rbp, r9
mov r9d, r11d
btc r11, rdi
mov r8w, word [r8 + rdx - 0x569d]
dec rax
btc ebx, ebx
rol ax, 0x8d
jb fcn.1402aeeac
mov edx, 0xdb2f4db3
movzx esi, dx
movsx r11d, sil
mov r11, qword [rbp + rsi - 0x4db3]
push rdx
inc byte [rsp + rsi - 0x4daf]
movsx ecx, word [rsp + rsi*2 - 0x9b62]
lea rbp, [rsi + rbp - 0x4dab]
sets dl
sal rsi, cl
push rcx
xor r11, rdi
bswap r11
rol r11, cl
not rdx
xchg word [rsp + rsi*2 - 0x136c0], si
mov word [rsp + rsi*2 - 2], dx
add r11, rsi
sar edx, 0x3e
sbb edx, ecx
mov byte [rsp + rsi + 6], dl
xor r11, 0xffffffffb3bd4694
call fcn.140219f1e
xor ecx, edi
cwd
dec eax
bts r11d, 0x1f
xor ecx, 0x19ab6001
not r8d
movsx r9d, dl
shl r8b, 0xa5
sbb ecx, 0xc60f9f10
lea r11, [rax*8 - 0x687a5ff7]
xor ecx, 0xde97a626
dec r11b
not ecx
lea rdx, [rax*4 - 0x1669fc8]
bswap ecx
xor r11d, 0x591b52a
inc r11d
rol ecx, 1
xor r9w, dx
sub r9b, 0x97
push rdi
movsx esi, r9b
neg r11d
xor dword [rsp + r9 - 0x5815], ecx
inc r9w
or r11b, r11b
pop rdi
movsxd rcx, ecx
adc r9, 0xffffffff9432e1ae
jne 0x14017aad7
inc edx
bswap edx
neg ecx
or esi, 0x9617320b
shl r11, cl
xor edx, 0x9e1741b2
not edx
lea edx, [rdx + r9*4 - 0xa96040f]
or r8, rsi
xor edx, 0x2281b1b9
inc edx
xor edx, 0x2e885000
rol r9w, 0xe5
jb 0x1401be842
xor rsi, 0xe864d99
push rdi
cdqe
jp 0x14012d7ae
shr rcx, cl
xor dword [rsp + rcx*2], edx
jmp 0x14011edbe
adc rbx, rcx
sar edx, 0xf4
and r8d, r9d
mov rdx, qword [r10 + rdx - 0x425]
xchg si, r9w
bt r11, 3
sbb esi, r9d
mov eax, dword [rdx + rsi - 0x6bcd39af]
not r11b
lea r10, [r10 + rsi - 0x6bcd39ab]
dec r9d
not r9d
mov edx, r9d
mov dword [r9 + r10 - 0x6bccffeb], eax
lea rcx, [rsi + rsi*2 - 0x42d70859]
sbb cl, 0x1f
ror r9w, 0x87
jmp rbx
mov r8, qword [r9 + r10 - 0x3c0df4d0]
bt r9w, r9w
jae 0x14016c9e5
bts dx, ax
mov qword [rsp + rbx*4 - 0x348], r8
sar ebx, cl
xor dword [rsp + rbx - 3], r9d
movsx r8d, bl
pop r8
movsxd r9, r9d
push rcx
pop rcx
dec edx
add r11, r9
xor rdx, r11
jmp rdx
movsx edx, r9w
ror r11w, 0x26
mov word [rbx + r11 - 0x7800], ax
sub r9b, r9b
movzx r8d, cl
lea rdi, [r9 + rdi - 0x312d0004]
xadd edx, ecx
movsx eax, r8w
mov r11d, dword [rdi + r9*2 - 0x625a0000]
ror r8d, 0xfa
xor r11d, ebp
call fcn.14026feb4
mov ebx, 0x5f8bde34
mov eax, ebx
mov edx, eax
lea r10, [rax + r10 - 0x5f8bde38]
movzx ecx, ax
mov r11d, ecx
mov edi, dword [rdx + r10 - 0x5f8bde34]
sar rdx, 0x30
ror al, 0xc6
xor edi, esi
or ecx, edx
ror edi, 1
neg bx
bswap ecx
push rbx
not edi
shl byte [rsp + rax - 0x5f8bded0], 0xe6
cwde
sbb edi, edx
sub bx, 0xaf8f
rol ecx, 0xb8
xor ebx, ebx
xor edi, 0xdb1b653f
mov qword [rsp + rbx*8], rsi
movzx r9d, dx
add eax, edx
cqo
xor dword [rsp + rbx], edi
pop rsi
lea rcx, [r9*8 + 0x520db3b2]
xchg bx, r9w
shr r9d, 0xb6
movsxd rdi, edi
dec dl
inc rbx
sete bl
adc rbp, rdi
or cx, 0x3407
shr r9b, 0xa1
lea r10, [r10 + rbx - 8]
and eax, 0x350fd581
mov rax, qword [rax + r10 - 0x350fd480]
js 0x1401458f6
bts edx, 0x13
ror r9b, 2
xor rax, rsi
dec cl
shr r9, cl
dec rax
bswap rax
and dx, 0xa26
lea rax, [rbx + rax - 0x4b1da301]
not r11d
ror rax, 6
mov edi, ecx
lea rdx, [rdi + r9 + 0x5a108719]
xor rsi, rax
lea r8, [r8 + rbx*2 - 8]
mov qword [rbx + r8], rax
jmp fcn.1402aeeac