Function at 0x42ee8d
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4845bf
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x4b2068]
xor eax, esp
mov dword [esp + 0xa8], eax
push ebx
push esi
push edi
mov eax, dword [0x4b2068]
xor eax, esp
push eax
lea eax, [esp + 0xc0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, ecx
lea ecx, [esp + 0x74]
mov esi, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0x194
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
xor ebx, ebx
mov dword [esp + 0xc8], ebx
or dword [esp + 0x20], 0xffffffff
cmp dword [esi + 0x18], 8
lea eax, [esp + 0x74]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], 0x42ee67
mov dword [esp + 0x1c], 0x41b6da
jb 0x42ef1b
mov esi, dword [esi + 4]
jmp 0x42ef1e
add esi, 4
lea eax, [esp + 0x20]
push esi
push eax
call fcn.0041b637
test eax, eax
pop ecx
pop ecx
je 0x42ef3c
mov dword [esp + 0x14], 1
jmp 0x42f0db
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x20]
call fcn.0041d069
pop ecx
lea esi, [esp + 0x20]
mov dword [esp + 0x18], eax
call fcn.0041b667
cmp dword [esp + 0x18], ebx
je 0x42ef6b
mov dword [esp + 0x14], 2
jmp 0x42f0db
lea ecx, [esp + 0x9c]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0xc8], 1
lea ecx, [esp + 0x58]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esp + 0x30]
mov byte [esp + 0xc8], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov eax, edi
lea edi, [esp + 0x90]
mov byte [esp + 0xc8], 3
call fcn.0041b3c1
test eax, eax
jne 0x42efe4
mov dword [esp + 0x14], 3
jmp 0x42f0a3
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x42eff6
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x88]
add ecx, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x50], ecx
push eax
lea ecx, [esp + 0x50]
lea ebx, [esp + 0x94]
call fcn.0041b326
xor ebx, ebx
cmp eax, ebx
pop ecx
jne 0x42f09b
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x18], 8
mov dword [esp + 0x18], ebx
jb 0x42f03a
mov eax, dword [eax + 4]
jmp 0x42f03d
add eax, 4
push ebx
push ebx
push 2
push ebx
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x42f091
cmp esi, ebx
je 0x42f091
cmp dword [esp + 0x48], 0x10
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], ebx
jae 0x42f06e
lea eax, [esp + 0x34]
push ebx
lea ecx, [esp + 0x1c]
push ecx
push dword [esp + 0x4c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x42f088
mov dword [esp + 0x14], ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x42f0a3
mov dword [esp + 0x14], 5
jmp 0x42f0a3
mov dword [esp + 0x14], 4
lea ecx, [esp + 0x30]
mov byte [esp + 0xc8], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x58]
mov byte [esp + 0xc8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x9c]
mov byte [esp + 0xc8], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
or dword [esp + 0xc8], 0xffffffff
lea ecx, [esp + 0x74]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.0047f7b2
mov esp, ebp
pop ebp
ret