Function at 0x18031b303
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
adc r8, rdi
mov edx, dword [r10 + rbx - 0x9dc4708]
rol cx, 0x2d
lea r10, [rbx + r10 - 0x9dc4708]
setae cl
xor edx, r11d
call fcn.18030f4d8
mov ebx, dword [rbp + r10 - 0x31bb32f0]
neg qword [rsp + rbp - 0x31bb32e4]
sub byte [rsp + rbp*2 - 0x637665c5], dil
xchg dword [rsp + rbp - 0x31bb32e3], r9d
lea r10, [rbp + r10 - 0x31bb32f0]
js 0x1803220e4
lea rdi, [r9 + rbx*8 - 0x2df64044]
xor rdx, r11
rol r9, cl
mov qword [rsp], rdi
sbb rdx, 0x6836b819
lea r9, [rbp + rbp*8 + 0xb01019]
xadd byte [rsp + 7], dil
sub r9d, 0x82016b9e
not rdx
shl byte [rsp + 6], 0xa7
adc rdx, 0x1b3fe19d
inc rcx
dec byte [rsp + 1]
neg rdx
sub bx, bx
xor r11, rdx
add cx, cx
mov qword [rsi - 6], rdx
and r9, 0xffffffffea1ef085
ror ebp, 0xec
jns 0x1802fd6f0
pop rax
xor ebx, r11d
movsx edi, ax
rol ebx, 1
add bp, r9w
push r9
xchg rbp, rax
neg ebx
shl rdi, 0x45
adc word [rsp + 3], bp
ror qword [rsp], 0x44
xor ebx, 0xf688b006
lea ebx, [rbx + r9 - 0x6b700cf4]
not dword [rsp + 4]
ror ebx, 3
sub r9w, word [rsp + 1]
dec bpl
inc ebx
neg ebp
sub dword [rsp + rbp - 0x77196ad3], edi
jo 0x18030e8cb
not ebx
push rbp
mov qword [rsp + rbp - 0x77196acc], r11
ror word [rsp + rbp - 0x77196ad0], 0x49
setne r9b
xor dword [rsp + rbp - 0x77196acc], ebx
mov r11, qword [rsp + rbp - 0x77196acc]
movsxd rbx, ebx
sub r9d, dword [rsp + rbp - 0x77196ad2]
adc r8, rbx
mov r9d, dword [rsi + rbp - 0x77196ad4]
sal dword [rsp + rbp - 0x77196ad1], 0x9c
mov qword [rsp + rbp - 0x77196acc], rax
sbb rdi, 0x62d0ba5
lea rsi, [rsi + rbp - 0x77196ad0]
lea rbx, [rax*4 + 0x3a2e7223]
rol dword [rsp + rbp - 0x77196acd], 0x5f
movzx eax, byte [r10 + rbp - 0x77196ad9]
movzx edx, dil
shl word [rsp + rdx - 0xf2], 0xe9
movsx ecx, bp
lea r10, [r10 + rdx*4 - 0x3ed]
xor word [rsp + rdx*8 - 0x7c6], bx
xor byte [rsp + rbp - 0x77196ace], 0xa7
xor al, r11b
sub byte [rsp + rdx - 0xf7], 0xac
add al, 0x15
neg ebx
add cx, bx
jae 0x180329c0a
call fcn.18032a024
and dil, 2
mov edx, 0xc3b3650d
xor ebx, r11d
and dword [rsp + rbp - 0x31bb32e1], ebp
ror dil, 0xe2
lea ebx, [rbx + rbp*2 + 0x6db0aee0]
xor ebx, 0xa782f1a1
and byte [rsp + rbp*2 - 0x637665c1], dil
bswap ebx
neg byte [rsp + rbp*2 - 0x637665c7]
or byte [rsp + rbp - 0x31bb32e3], 0x86
rol ebx, 1
mov qword [rsp + rbp - 0x31bb32e4], r11
xor dword [rsp + rbp - 0x31bb32e4], ebx
inc bp
not rdx
ror ecx, 0x7f
pop r11
adc rbp, rbp
lea rax, [rdi - 0x9c8a5f3]
seta dil
movsxd rbx, ebx
dec rcx
jnp 0x18034ccea
adc r8, rbx
mov rdi, qword [rsi + rbp - 0x637665d1]
rol rbp, cl
sar ax, 0x2e
mov cl, byte [rsi + 2]
xor r9w, r9w
lea rbx, [rax*4 + 0x40081c2f]
shl rdi, cl
mov qword [rsi - 4], rdi
inc ebx
movsx ecx, bx
lea rsi, [rsi + rcx*2 - 0x3854]
xchg ebp, edx
dec al
push rbx
pop rdx
jne fcn.18030f872
shl r9, cl
jne 0x1802f391e
mov eax, 0x5598ff11
not al
jmp 0x180356173
rol al, 1
sub al, 0xa5
pop rdi
jmp 0x180336311
not al
ror bx, 0x82
adc al, 0x30
xor r11b, al
lea rdi, [rdx + rcx + 0x1e8a53af]
ror rbx, cl
lea rax, [rsp + rax + 8]
jae 0x180355f14
lea rbp, [rdx - 0x2e6f717b]
add rsi, 6
ror byte [rsp + 4], 0xe5
movsx r9d, word [rsp + 1]
shrd eax, edi, cl
mov dword [rsi], eax
not r9w
shr byte [rsp + 3], 0x41
sbb r10, 4
mov edx, dword [r10]
or word [rsp + 3], bp
neg r9d
xor edx, r11d
movzx ebx, r9b
or rbp, r9
xor edx, 0x4b3370f
call fcn.1803288b1
mov r9d, 0xa8b7ce97
mov ecx, r9d
mov rdx, qword [rsi]
mov ebx, ecx
and r9b, cl
mov rax, qword [rsi + 8]
ror bl, 0xe4
movzx edi, cl
lea rbp, [rdi*4 - 0x6a5806f6]
and rdx, rax
shl ebp, 0xa4
sar r9d, cl
xor rdi, rdi
not rdx
mov qword [rsi + rdi + 8], rdx
movsx eax, bp
mov ebp, dword [rdi + r10 - 4]
not ecx
sbb rax, 0x3f2d4f21
ror ebx, cl
lea r10, [r10 + rcx - 0x5748316c]
lea rdx, [rdi + rax + 0x13be1125]
rol cx, cl
xor ebp, r11d
lea ebp, [rbp + rdi*8 - 0x46b8a024]
neg dx
shl ax, 0xea
setne al
neg ebp
add r9d, ebx
call fcn.18036bfd9
lea r10, [r10 + rbx*2 - 0x1e0]
mov ebp, dword [rcx + r10 - 0xee]
sal byte [rsp + rbx - 0xe8], 0xc5
sbb ebx, 0x8e21542f
xor ebp, r11d
and qword [rsp + rbx - 0x71deacbf], 0x7c376e80
lea ebp, [rbp + rbx + 0x525b1dc4]
adc r9w, word [rsp + rcx - 0xee]
rol ebp, 1
lea ebp, [rbx + rbp + 0x11c95e4c]
bswap ebp
push rbx
lea r9, [rcx - 0x2275a172]
xor dword [rsp + rbx - 0x71deacb6], r9d
neg ebp
call fcn.1803598b2
mul ebp
add bl, bh
mov dword [rsi + rbx*2 - 0x1dc], edx
movzx ecx, bl
mov r9d, ecx
lea rdx, [rcx + r9*2 - 0x7ae26d76]
mov dword [rsi + rbx - 0xea], eax
jl 0x1803442f0
jmp fcn.1803540ff
or bl, r9b
not dx
lea eax, [rbx + rax - 0x32fb5f57]
and edx, edi
not bpl
push r11
ror rbp, 0x18
sal r9b, 0xc6
mov r11d, edx
xor dword [rsp + rcx], eax
pop r11
movsxd rax, eax
xchg edi, r9d
xchg cx, di
add r8, rax
rol bx, 0x6b
neg dx
call fcn.180323c91
cmovb rcx, rbx
mov dword [rax + rbp - 0x77196ad4], r9d
mov qword [rsp + rdi - 0x1e8b23fe], r8
ret
mov ebp, dword [rsi + rax - 0x5598ffee]
movzx ebx, al
mov eax, dword [rsi + rax - 0x5598ffea]
push rbx
mov word [rsp + rbx - 0xee], bx
jmp 0x18034447b