Function at 0x1805796fc
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov eax, 0x7c2b
mov rdi, rcx
mov word [rbp + 0x6f], ax
mov al, byte [0x18001007a]
mov rax, qword [str.bW_m]
mov qword [rbp - 0x31], rax
movsx rsi, byte [0x18001006b]
mov dword [rbp + 0x6f], 0x7487
mov byte [rbp + 0x77], 0xa6
movzx eax, word [0x180058554]
mov byte [rbp + 0x6f], al
movsx rax, word [0x1800100b4]
mov qword [rbp - 0x19], rax
mov rax, qword [0x180010090]
mov dword [rbp + 0x7f], eax
movzx eax, word [0x1800100d8]
mov dword [rbp - 0x29], eax
movzx eax, word [0x1800100dc]
mov word [rbp - 0x49], ax
mov al, byte [str.bW_m]
mov byte [rbp + 0x7f], al
mov eax, dword [0x180010088]
mov dword [rbp + 0x7f], eax
movzx eax, byte [0x18001007f]
mov qword [rbp - 0x41], rax
movzx eax, word [0x1800100f4]
mov dword [rbp + 0x7f], eax
mov eax, dword [0x18001008c]
mov qword [rbp - 0x21], rax
mov qword [rbp + 0x7f], 0x7e
movsx ebx, byte [0x18001006b]
movzx eax, word [0x1800100e0]
mov dword [rbp - 0x45], 0x5ac3
mov qword [rbp - 0x39], 0x3de7
mov qword [rbp + 0x7f], 0x57b3
mov qword [rbp + 0x7f], rax
mov qword [rbp + 0x7f], 0x46cc
mov qword [rbp + 0x7f], 0x2c5a1441
mov al, byte [0x18001007e]
mov byte [rbp + 0x7f], al
mov dword [rbp + 0x7f], 0x28e1
mov eax, dword [0x180010084]
movsx ecx, word [0x180010080]
mov dword [rbp + 0x7f], eax
movzx eax, word [0x1800100b0]
mov byte [rbp + 0x7f], 0x64
mov dword [rbp + 0x7f], eax
mov eax, 0x46
mov word [rbp + 0x7f], ax
mov eax, dword [rbp - 0x45]
cmp eax, ecx
jne 0x180579839
mov ebx, dword [rbp - 0x29]
movzx eax, byte [rbp + 0x6f]
and eax, 0x4bf47c41
mov dword [0x1800100e4], eax
jmp 0x18057986d
movsxd rax, dword [0x180010088]
xor edx, edx
mov qword [0x180010098], rax
movzx eax, byte [0x18001006a]
cmp dword [0x1800100a8], edx
sete dl
add rdx, rax
mov rax, qword [rbp - 0x41]
not rax
add rax, rdx
mov qword [0x180010098], rax
cmp qword [0x1804103a8], 0
jne 0x180579b5a
mov rcx, rdi
call fcn.18057a3ec
test al, al
je 0x180579b5a
mov eax, dword [0x180010088]
mov al, byte [0x18001007f]
mov al, byte [0x180010033]
mov rax, qword [rbp - 0x39]
mov rax, qword [rbp - 0x21]
mov rax, qword [rbp - 0x31]
mov qword [rbp - 0x41], 3
movzx eax, byte [rbp + 0x6f]
mov ecx, dword [0x180010088]
movzx edx, byte [rbp + 0x6f]
add ecx, eax
movzx ecx, cl
imul edx, ecx
mov byte [rbp + 0x6f], dl
mov dword [rbp + 0x7f], 0x53
movzx eax, byte [0x180010033]
mov rdx, qword [rbp - 0x19]
imul rdx, rax
mov al, byte [0x180010033]
add al, dl
mov byte [0x180010033], al
mov rax, qword [rbp - 0x41]
dec rax
sub rax, 1
je 0x18057991e
cmp rax, 1
jne 0x180579954
movzx eax, byte [rbp + 0x6f]
mov qword [rbp - 0x39], rax
movsxd rcx, dword [0x1800100a4]
mov rax, qword [rbp - 0x41]
add eax, ecx
mov dword [0x1800100a4], eax
jmp 0x180579954
mov rcx, qword [0x180010098]
mov al, cl
shl al, 2
add cl, al
add cl, cl
not cl
movsx eax, cl
imul ecx, eax, 0xffffff92
mov byte [0x18001006b], cl
mov eax, dword [rbp - 0x45]
imul eax, eax, 0x1f8e
mov qword [0x1800100d0], 0xffffffffffffc7f5
mov qword [rbp - 0x31], rax
mov rax, qword [rbp - 0x31]
mov ebx, 0x88d91ee3
add rax, rbx
mov qword [str.bW_m], rbx
cmp qword [str.bW_m], rax
jne 0x180579a31
movzx eax, byte [0x18001006a]
movabs rdx, 0xe1025a7c4fbad
add rdx, rsi
cmp rax, rdx
jne 0x180579a31
movzx ecx, word [0x1800100d8]
xor edx, edx
movsx eax, byte [0x180010036]
cmp ecx, eax
movzx eax, word [0x1800100d8]
setl dl
xor ecx, ecx
cmp ax, 0x2c
setb cl
cmp edx, ecx
je 0x1805799ee
movzx eax, word [0x18000f280]
lea rcx, [rbp - 9]
vmovups xmm0, xmmword [str.ds_ext_aad_aadclou]
mov word [rbp + 7], ax
mov al, byte [0x18000f282]
mov byte [rbp + 9], al
vmovups xmmword [rbp - 9], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
mov qword [rbp - 0x41], rcx
jmp 0x180579a31
mov eax, dword [0x180010084]
movsx ecx, word [0x18001007c]
sub ecx, eax
movsxd rax, ecx
mov qword [0x180010090], rax
movzx ecx, byte [0x18001007f]
sub ecx, 0x63ab204b
mov dword [0x1800100a4], ecx
mov cl, byte [0x18001006a]
mov al, byte [0x18001006a]
add cl, 0xa
or cl, al
mov byte [0x18001006a], cl
movsx ecx, byte [rbp + 0x77]
movzx eax, word [0x1800100e0]
sub ecx, eax
mov qword [str.bW_m], rbx
mov al, byte [rbp + 0x77]
sub cl, al
mov byte [rbp + 0x77], cl
mov eax, dword [0x18001008c]
mov edx, dword [0x18001006c]
and word [0x1800100e0], ax
not edx
movzx ecx, byte [0x18001005e]
xor eax, eax
cmp qword [0x1800100b8], rax
sete al
add edx, eax
movzx eax, byte [0x18001005f]
add ecx, edx
add ecx, dword [0x1800100f0]
movsxd rdx, ecx
mov rcx, qword [0x180010098]
sub rdx, rax
mov rax, qword [rbp - 0x31]
not rcx
add rcx, rdx
add al, cl
mov byte [rbp + 0x77], al
mov rax, qword [0x180058568]
movsx ecx, al
movsx eax, byte [0x180010037]
imul eax, ecx
lea rcx, [rbp + 0x27]
mov byte [0x180010037], al
call fcn.1805792d0
xor r8d, r8d
vmovups xmm1, xmmword [rax]
vmovups xmmword [rbp + 0xf], xmm1
vmovsd xmm0, qword [rax + 0x10]
vpextrd r10d, xmm1, 2
vmovsd qword [rbp + 0x1f], xmm0
test r10d, r10d
je 0x180579b0a
mov r9, qword [rbp + 0xf]
mov rdx, r9
mov rcx, qword [rdx]
cmp rdi, rcx
jbe 0x180579afe
add rcx, qword [rdx + 0x18]
cmp rdi, rcx
jb 0x180579b13
inc r8d
add rdx, 0x30
cmp r8d, r10d
jb 0x180579aed
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
movsxd rax, r8d
lea rdx, [rbp + 0xf]
lea r8, [rbp - 0x11]
lea rcx, [rax + rax*2]
add rcx, rcx
mov rax, qword [r9 + rcx*8]
mov qword [0x1804103a8], rax
mov rax, qword [r9 + rcx*8 + 0x18]
mov r9d, 0x4000
mov qword [0x1804103b0], rax
or rcx, 0xffffffffffffffff
mov rax, qword [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov byte [0x1804103b8], 0
call fcn.18000e2c0
mov rbx, qword [rsp + 0xd0]
add rsp, 0xb0
pop rdi
pop rsi
pop rbp
ret