Function at 0x18000ac80
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x190
mov rax, qword [0x180279b80]
xor rax, rsp
mov qword [rsp + 0x180], rax
xor esi, esi
mov dword [rsp + 0x78], esi
lea rcx, [rsp + 0x78]
call fcn.180006700
mov rax, qword [rsp + 0x78]
mov rcx, rax
sub rcx, qword [0x180b5ea90]
cmp rcx, 0x3b9aca00
jl 0x18000b26b
mov qword [0x180b5ea90], rax
cmp byte [0x180b5ee55], sil
jne 0x18000b26b
cmp byte [0x180b5ecae], sil
je 0x18000b26b
call fcn.1800ffd20
test al, al
jne 0x18000b26b
call fcn.1800ff8b0
test eax, eax
jne 0x18000b26b
call fcn.1800045d0
test al, al
je 0x18000b26b
call fcn.18000bcb0
test al, al
jne 0x18000b26b
call fcn.18000c200
test eax, eax
jne 0x18000b26b
call fcn.18000b5b0
mov r11d, eax
cmp eax, 0xffffffff
je 0x18000b26b
mov r8, qword [0x180b60168]
mov r14, qword [0x180b60170]
cmp r8, r14
je 0x18000b157
mov rdi, 0xffffffffffffffff
mov ebx, edi
mov dword [rsp + 0xa0], ebx
mov dword [rsp + 0xa4], edi
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], rsi
mov r15d, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xc0], r15
mov byte [rsp + 0xa8], sil
vmovups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], r15
mov byte [rsp + 0xc8], sil
mov byte [rsp + 0xe8], 1
vmovups xmmword [rsp + 0xf0], xmm0
vmovdqu xmm1, xmmword [0x180249350]
vmovdqu xmmword [rsp + 0x100], xmm1
mov byte [rsp + 0xf0], sil
mov r10d, esi
mov rcx, r14
sub rcx, r8
movabs r12, 0x4924924924924925
mov rax, r12
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18000aec5
mov r9d, esi
cmp dword [r9 + r8 + 4], r11d
je 0x18000ae53
inc r10d
add r9, 0x70
mov rcx, r14
sub rcx, r8
mov rax, r12
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r10d
cmp rax, rdx
jb 0x18000ae21
jmp 0x18000aec5
movsxd rax, r10d
imul rbx, rax, 0x70
add rbx, r8
mov eax, dword [rbx]
mov dword [rsp + 0xa0], eax
mov eax, dword [rbx + 4]
mov dword [rsp + 0xa4], eax
lea rdx, [rbx + 8]
lea rcx, [rsp + 0xa8]
call fcn.180006150
lea rdx, [rbx + 0x28]
lea rcx, [rsp + 0xc8]
call fcn.180006150
movzx eax, byte [rbx + 0x48]
mov byte [rsp + 0xe8], al
lea rdx, [rbx + 0x50]
lea rcx, [rsp + 0xf0]
call fcn.180006150
mov r15, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xb8]
mov ebx, dword [rsp + 0xa0]
mov edx, ebx
lea rcx, [rsp + 0x110]
call fcn.18003c9f0
nop
cmp dword [rsp + 0x110], 0xffffffff
jne 0x18000aeed
cmp dword [rsp + 0x114], 0xffffffff
je 0x18000b103
lea rdx, [rsp + 0xa8]
cmp r15, 0xf
cmova rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x118]
cmp qword [rsp + 0x130], 0xf
cmova rcx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x128]
cmp r8, rsi
jne 0x18000af68
call fcn.1801ff530
test eax, eax
jne 0x18000af68
call fcn.18003e820
cmp eax, ebx
je 0x18000af42
mov ecx, ebx
call fcn.18003ebe0
call fcn.18003e820
cmp eax, ebx
jne 0x18000b103
mov ecx, ebx
call fcn.18003d1b0
test al, al
je 0x18000b103
call fcn.18000b2e0
jmp 0x18000b103
lea rcx, [rsp + 0xa8]
call fcn.18003c790
vmovups ymm0, ymmword [str.tRBZDL_]
vmovups ymmword [rsp + 0x40], ymm0
vmovsd xmm0, qword [0x180237ef8]
vmovsd qword [rsp + 0x60], xmm0
movzx ecx, word [0x180237f00]
mov word [rsp + 0x68], cx
movzx eax, byte [0x180237f02]
mov byte [rsp + 0x40], 0x46
xor byte [rsp + 0x41], 0x33
xor byte [rsp + 0x42], 0x34
xor byte [rsp + 0x43], 0x35
xor byte [rsp + 0x44], 0x36
xor byte [rsp + 0x45], 0x37
xor byte [rsp + 0x46], 0x38
xor byte [rsp + 0x47], 0x39
xor byte [rsp + 0x48], 0x3a
xor byte [rsp + 0x49], 0x3b
xor byte [rsp + 0x4a], 0x3c
xor byte [rsp + 0x4b], 0x3d
xor byte [rsp + 0x4c], 0x3e
xor byte [rsp + 0x4d], 0x3f
xor byte [rsp + 0x4e], 0x40
xor byte [rsp + 0x4f], 0x41
xor byte [rsp + 0x50], 0x42
xor byte [rsp + 0x51], 0x43
xor byte [rsp + 0x52], 0x44
xor byte [rsp + 0x53], 0x45
xor byte [rsp + 0x54], 0x46
xor byte [rsp + 0x55], 0x47
xor byte [rsp + 0x56], 0x48
xor byte [rsp + 0x57], 0x49
xor byte [rsp + 0x58], 0x4a
xor byte [rsp + 0x59], 0x4b
xor byte [rsp + 0x5a], 0x4c
xor byte [rsp + 0x5b], 0x4d
xor byte [rsp + 0x5c], 0x4e
xor byte [rsp + 0x5d], 0x4f
xor byte [rsp + 0x5e], 0x50
xor byte [rsp + 0x5f], 0x51
xor byte [rsp + 0x60], 0x52
xor byte [rsp + 0x61], 0x53
xor byte [rsp + 0x62], 0x54
xor byte [rsp + 0x63], 0x55
xor byte [rsp + 0x64], 0x56
xor byte [rsp + 0x65], 0x57
xor byte [rsp + 0x66], 0x58
xor byte [rsp + 0x67], 0x59
xor cl, 0x5a
mov byte [rsp + 0x68], cl
xor byte [rsp + 0x69], 0x5b
xor al, 0x5c
mov byte [rsp + 0x6a], al
lea rax, [rsp + 0x40]
inc rdi
cmp byte [rax + rdi], 0
jne 0x18000b083
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rsp + 0xb8]
sub rax, rcx
cmp rax, rdi
jb 0x18000b299
lea rax, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 0xf
cmova rax, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x40]
lea r8, [rsp + 0xa8]
movzx edx, byte [rsp + 0x70]
lea rcx, [rsp + 0x80]
vzeroupper
call fcn.1800064d0
lea rcx, [rsp + 0x80]
call fcn.18011c770
nop
lea rcx, [rsp + 0x160]
call fcn.180005050
lea rcx, [rsp + 0x138]
call fcn.180005050
lea rcx, [rsp + 0x118]
call fcn.180005050
nop
lea rcx, [rsp + 0xf0]
call fcn.180005050
lea rcx, [rsp + 0xc8]
call fcn.180005050
lea rcx, [rsp + 0xa8]
call fcn.180005050
jmp 0x18000b26b
call fcn.18003e820
mov ebx, eax
mov ecx, dword [str.acs5__w_DE_WNkPGZ2AUV_vCEJTOomy_4_7D]
mov dword [rsp + 0x74], ecx
cmp byte [0x180237eaf], sil
je 0x18000b1d2
vmovdqu xmm5, xmmword [0x1802493c0]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmmword [0x1802498c0]
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmmword [0x1802498c0]
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 4
vpsrld xmm0, xmm4, 0x1f
vpaddd xmm1, xmm0, xmm4
vpmulld xmm2, xmm1, xmmword [0x180249420]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm4, xmmword [str.22222222222222223333333333333333]
vmovd xmm0, ecx
vpxor xmm1, xmm2, xmm0
vmovd dword [rsp + 0x74], xmm1
mov edx, ebx
lea rcx, [rsp + 0x110]
call fcn.18003c9f0
nop
mov dword [rsp + 0x78], 1
lea rcx, [rax + 0x28]
lea rax, [rsp + 0x74]
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x18000b200
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x18000b217
mov rcx, qword [rcx]
cmp r8, rdi
jne 0x18000b239
lea rdx, [rsp + 0x74]
call fcn.1801ff530
test eax, eax
jne 0x18000b239
mov ecx, ebx
call fcn.18003d1b0
test al, al
je 0x18000b239
mov bl, 1
jmp 0x18000b23b
xor bl, bl
lea rcx, [rsp + 0x160]
call fcn.180005050
lea rcx, [rsp + 0x138]
call fcn.180005050
lea rcx, [rsp + 0x118]
call fcn.180005050
test bl, bl
je 0x18000b26b
call fcn.18000b2e0
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.1801be920
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
ret
vzeroupper
call fcn.180003bc0
int3