Function at 0x5e672b
Capabilities:
Terminate process

Disassembly:
push rbx
push rsi
push rdi
push rbp
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleW]
mov rsi, rax
mov rcx, qword [0x006f6c84]
call qword [sym.imp.kernel32.dll_LoadLibraryA]
mov rbx, rax
mov edx, dword [0x006f6c78]
and al, 5
adc dword [rax], eax
xor ecx, ecx
call qword [sym.imp.kernel32.dll_LocalAlloc]
mov rbp, rax
xor ecx, ecx
mov rdx, rbp
mov r8d, 0x104
call qword [sym.imp.kernel32.dll_GetModuleFileNameW]
xor edi, edi
xor eax, eax
movzx r8d, word [rbp + rdi*2]
cmp r8d, 0x5c
je 0x5e6a9f
test r8d, r8d
je 0x5e678e
inc rdi
jmp 0x5e6774
mov rdi, qword [0x006f6c90]
lea rbp, [rbp + rax*2 + 2]
cmp dword [rdi], 0
je 0x5e67ea
mov rcx, rbp
call qword [sym.imp.kernel32.dll_lstrlenW]
movzx eax, al
cmp al, byte [rdi]
je 0x5e67b8
cmp al, byte [rdi + 1]
jne 0x5e6a82
movzx r8d, word [rbp]
xor edx, edx
xor eax, eax
test r8d, r8d
je 0x5e67dc
movzx r8d, word [rbp + rax*2]
add edx, r8d
inc eax
movzx r9d, word [rbp + rax*2]
test r9d, r9d
jne 0x5e67c6
cmp edx, dword [rdi + 4]
je 0x5e67ea
cmp edx, dword [rdi + 8]
jne 0x5e6a82
mov edx, dword [0x006f6c78]
mov ecx, 0x40
mov dword [rsp + 0x20], 0
call qword [sym.imp.kernel32.dll_GlobalAlloc]
mov rdx, rax
xor eax, eax
mov rbp, qword [0x006f6c34]
mov edi, dword [rbp + rax]
mov dword [rax + rdx], edi
add rax, 4
cmp rax, 0x40
jl 0x5e6808
mov rcx, rbx
call qword [sym.imp.kernel32.dll_GetProcAddress]
mov rbx, rax
test rbx, rbx
je 0x5e6a82
mov rbp, qword [0x006f6c9c]
mov rcx, rbp
mov edx, 0x7000
lea r9, [rsp + 0x20]
mov r8d, dword [0x006f6c20]
call rbx
mov eax, dword [0x006f6c24]
lea r11, [rbp + 8]
lea r10, [rsi + rax]
mov r9d, dword [r10 + 4]
lea rax, [r10 + 8]
neg rax
add rax, r11
cmp rax, 0x6ff8
jge 0x5e6885
neg rax
cmp rax, 0x6ff8
jl 0x5e6a23
and r11, 0xf
test r11d, r11d
je 0x5e68c1
test r11d, 3
jne 0x5e6a8a
neg r11d
xor edx, edx
add r11d, 0x10
shr r11d, 2
mov eax, r11d
mov esi, dword [r10 + rdx*4 + 8]
add esi, r9d
mov dword [rbp + rdx*4 + 8], esi
inc rdx
cmp rdx, rax
jb 0x5e68ab
jmp 0x5e68c3
xor eax, eax
mov r8d, r11d
lea edx, [r11*4 + 8]
neg r8d
add r8d, 0xe
add rdx, r10
and r8d, 0xf
neg r8d
lea edi, [r8 + 0x1bfe]
test rdx, 0xf
je 0x5e694a
movd xmm0, r9d
pshufd xmm0, xmm0, 0
mov edx, edi
movdqu xmm1, xmmword [r10 + rax*4 + 8]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 8], xmm1
movdqu xmm2, xmmword [r10 + rax*4 + 0x18]
paddd xmm2, xmm0
movdqu xmmword [rbp + rax*4 + 0x18], xmm2
movdqu xmm3, xmmword [r10 + rax*4 + 0x28]
paddd xmm3, xmm0
movdqu xmmword [rbp + rax*4 + 0x28], xmm3
movdqu xmm4, xmmword [r10 + rax*4 + 0x38]
paddd xmm4, xmm0
movdqu xmmword [rbp + rax*4 + 0x38], xmm4
add rax, 0x10
cmp rax, rdx
jb 0x5e68fb
jmp 0x5e69a8
movd xmm0, r9d
pshufd xmm0, xmm0, 0
mov edx, edi
nop dword [rax + rax]
movdqu xmm1, xmmword [r10 + rax*4 + 8]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 8], xmm1
movdqu xmm2, xmmword [r10 + rax*4 + 0x18]
paddd xmm2, xmm0
movdqu xmmword [rbp + rax*4 + 0x18], xmm2
movdqu xmm3, xmmword [r10 + rax*4 + 0x28]
paddd xmm3, xmm0
movdqu xmmword [rbp + rax*4 + 0x28], xmm3
movdqu xmm4, xmmword [r10 + rax*4 + 0x38]
paddd xmm4, xmm0
movdqu xmmword [rbp + rax*4 + 0x38], xmm4
add rax, 0x10
cmp rax, rdx
jb 0x5e695b
lea eax, [r8 + 0x1bff]
cmp eax, 0x1bfe
ja 0x5e6a48
mov esi, edi
neg esi
add esi, 0x1bfe
cmp esi, 4
jb 0x5e6a98
mov edx, esi
xor eax, eax
and edx, 0xfffffffc
lea r8d, [r8*4 + 0x6ff8]
lea r11d, [r8 + rax*4]
add eax, 4
movsxd r11, r11d
movdqu xmm1, xmmword [r11 + r10 + 8]
paddd xmm1, xmm0
movdqu xmmword [r11 + rbp + 8], xmm1
cmp eax, edx
jb 0x5e69dc
cmp edx, esi
jae 0x5e6a48
lea eax, [rdx*4]
inc edx
lea r8d, [rax + rdi*4]
movsxd r8, r8d
mov r11d, dword [r8 + r10 + 8]
add r11d, r9d
mov dword [r8 + rbp + 8], r11d
cmp edx, esi
jb 0x5e6a00
jmp 0x5e6a48
xor eax, eax
mov edx, dword [r10 + rax*8 + 8]
add edx, r9d
mov dword [rbp + rax*8 + 8], edx
mov esi, dword [r10 + rax*8 + 0xc]
add esi, r9d
mov dword [rbp + rax*8 + 0xc], esi
inc rax
cmp rax, 0xdff
jb 0x5e6a25
mov eax, dword [0x006f6c8c]
mov rcx, rbp
mov dword [rbp + 8], eax
mov edx, 0x7000
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x20]
call rbx
mov eax, dword [0x006f6c4c]
mov edx, dword [0x006f6c4c]
mov ebx, dword [rbp + 0xc]
add rbx, rbp
add rbp, rdx
add rbx, rax
mov rcx, rbp
call rbx
xor ecx, ecx
call qword [sym.imp.kernel32.dll_ExitProcess]
xor edi, edi
mov esi, 0x1bfe
xor edx, edx
jmp 0x5e69fc
xor edx, edx
jmp 0x5e69fc
movsxd rax, edi
jmp 0x5e6789