Function at 0x424bf0
Capabilities:
Create process on windows
Create process suspended
Delete file
Get common file path
Read file on windows

Disassembly:
mov eax, 0x1368
call sub.ntdll.dll__chkstk
push ebx
push ebp
push esi
push edi
xor esi, esi
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x2c]
mov dword [esp + 0x28], esi
mov edx, 0x46ca68
rep stosd dword es:[edi], eax
mov cl, byte [0x47c558]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov byte [esp + 0x378], cl
mov ecx, 0x3ff
lea edi, [esp + 0x379]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
test edx, edx
stosb byte es:[edi], al
jne 0x424c4c
xor ebx, ebx
jmp 0x424c59
push 0x46ca68
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
mov ebp, dword [esp + 0x137c]
mov eax, dword [ebp]
cmp dword [eax - 0xc], 1
jg 0x424c6e
cmp ebx, dword [eax - 4]
jle 0x424c81
mov ecx, ebp
call fcn.00406d00
push ebx
mov ecx, ebp
call fcn.00406a40
cmp eax, esi
je 0x424cad
lea eax, [ebx + 1]
cmp eax, ebx
jb 0x424ca0
mov edi, dword [ebp]
mov ecx, ebx
mov edx, ecx
mov esi, 0x46ca68
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp]
mov dword [eax - 8], ebx
mov ecx, dword [ebp]
mov byte [ecx + ebx], 0
lea edx, [esp + 0x6c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esp + 0x170]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
or ecx, 0xffffffff
mov edi, 0x46ca48
xor eax, eax
lea edx, [esp + 0x170]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebx, ecx
mov esi, edi
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x6c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46ca34
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x170]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x6c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x6c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x18]
or al, 1
push edx
mov dword [esp + 0x58], eax
lea eax, [esp + 0x2c]
push eax
push 0
push 0
mov word [esp + 0x68], 0
mov dword [esp + 0x38], 0x44
push 0
push 0
push 0
lea ecx, [esp + 0x18c]
push 0
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x424dc9
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1368
ret 4
mov edx, dword [esp + 0x18]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x80
push 3
push 0
push 1
lea ecx, [esp + 0x80]
push connect
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x14], ebx
jne 0x424e1b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1368
ret 4
lea edx, [esp + 0x10]
push 0
push edx
lea eax, [esp + 0x380]
push 0x1000
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x424f2c
lea ecx, [esp + 0x378]
test ecx, ecx
je 0x424ef0
lea edx, [esp + 0x378]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x424ef0
mov edx, dword [ebp]
mov ecx, dword [edx - 0xc]
lea esi, [edx - 0xc]
cmp ecx, 1
jg 0x424ebb
mov edi, dword [edx - 8]
mov ecx, dword [edx - 4]
lea ebx, [edi + eax]
cmp ebx, ecx
jg 0x424eb7
inc ecx
cmp ecx, eax
jb 0x424e9c
mov ecx, eax
add edi, edx
mov edx, ecx
lea esi, [esp + 0x378]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp]
mov ebx, dword [esp + 0x14]
mov edx, dword [ecx - 8]
add edx, eax
mov dword [ecx - 8], edx
mov eax, dword [ebp]
mov ecx, dword [eax - 8]
mov byte [ecx + eax], 0
jmp 0x424ef0
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x378]
push ecx
push eax
push edx
mov edx, dword [edx - 8]
push edx
mov ecx, ebp
call fcn.0040f760
test eax, eax
je 0x424ef0
cmp esi, dword [0x449b50]
je 0x424ef0
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x424ef0
push esi
call fcn.0043fa08
add esp, 4
cmp dword [esp + 0x10], 0x1000
jb 0x424f2c
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x378]
push eax
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
lea ecx, [esp + 0x37c]
push eax
push 0x1000
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x424e3e
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [esp + 0x6c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, 0x46ca08
test eax, eax
je 0x424fe3
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
test esi, esi
je 0x424fe3
mov eax, dword [ebp]
mov ecx, dword [eax - 0xc]
lea edi, [eax - 0xc]
cmp ecx, 1
jg 0x424fb1
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
lea ebx, [ecx + esi]
cmp ebx, edx
jg 0x424fb1
push esi
inc edx
push 0x46ca08
add ecx, eax
push edx
push ecx
call fcn.00406910
mov eax, dword [ebp]
add esp, 0x10
mov ecx, dword [eax - 8]
pop edi
add ecx, esi
pop esi
mov dword [eax - 8], ecx
mov ebp, dword [ebp]
mov eax, 1
mov ecx, dword [ebp - 8]
mov byte [ecx + ebp], 0
pop ebp
pop ebx
add esp, 0x1368
ret 4
mov edx, dword [eax - 8]
push 0x46ca08
push esi
push eax
push edx
mov ecx, ebp
call fcn.0040f760
test eax, eax
je 0x424fe3
cmp edi, dword [0x449b50]
je 0x424fe3
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x424fe3
push edi
call fcn.0043fa08
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1368
ret 4