Function at 0x113ee
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
push ebx
push esi
push edi
mov eax, ecx
xor esi, esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], eax
push ecx
push esi
push esi
push 0x20
push esi
mov ebx, edx
push eax
mov dword [esp + 0x4c], ebx
call dword [sym.imp.ole32.dll_StgOpenStorage]
test eax, eax
js 0x116b2
xor eax, eax
mov dword [esp + 0x40], 0x1000
inc eax
mov dword [esp + 0x44], esi
mov word [esp + 0x3c], ax
xor ecx, ecx
xor eax, eax
cmp byte [ebp + 8], cl
mov word [esp + 0x3e], ax
lea eax, [esp + 0xc]
push eax
push 0x12040
push esi
lea eax, [esp + 0x48]
cmove eax, ecx
push eax
push esi
push 5
push 0x1012
push ebx
call dword [sym.imp.ole32.dll_StgCreateStorageEx]
test eax, eax
jns 0x11477
push 0xfffffffffffffff8
pop edx
mov ecx, str.cannot_create_target_file_n
jmp 0x116ba
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x48]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x78]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x20]
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x14], esi
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], esi
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x30], esi
push eax
mov dword [esp + 0x38], esi
call fcn.0001103d
imul edi, dword [esp + 0x28], 0x18
add esp, 0x10
mov ebx, dword [esp + 0x10]
mov esi, ebx
push 0x18
add edi, esi
pop ecx
jmp 0x1152d
cmp dword [esi + 4], 0
ja 0x1152b
jb 0x114ec
cmp dword [esi], 0x1000
jae 0x1152b
mov ecx, dword [esi + 8]
lea edx, [esp + 0x10]
push edx
lea edx, [esp + 0x1c]
push edx
push dword [esi + 4]
mov eax, dword [ecx]
push dword [esi]
push dword [esi + 0xc]
push ecx
call dword [eax + 0x1c]
test eax, eax
js 0x11535
mov ecx, dword [esi]
mov eax, dword [esi + 4]
cmp ecx, dword [esp + 0x18]
jne 0x11535
cmp eax, dword [esp + 0x1c]
jne 0x11535
cmp ecx, dword [esp + 0x10]
jne 0x11535
cmp eax, dword [esp + 0x14]
jne 0x11535
push 0x18
pop ecx
add esi, ecx
cmp esi, edi
jb 0x114dc
mov esi, ebx
jmp 0x11591
push 0xfffffffffffffff9
pop edx
mov ecx, str.cannot_copy_small_stream_n
jmp 0x116ba
cmp dword [esi + 4], 0
ja 0x11550
cmp dword [esi], 0x1000
jb 0x1158f
mov ecx, dword [esi + 8]
lea edx, [esp + 0x10]
push edx
lea edx, [esp + 0x1c]
push edx
push dword [esi + 4]
mov eax, dword [ecx]
push dword [esi]
push dword [esi + 0xc]
push ecx
call dword [eax + 0x1c]
test eax, eax
js 0x115e0
mov ecx, dword [esi]
mov eax, dword [esi + 4]
cmp ecx, dword [esp + 0x18]
jne 0x115e0
cmp eax, dword [esp + 0x1c]
jne 0x115e0
cmp ecx, dword [esp + 0x10]
jne 0x115e0
cmp eax, dword [esp + 0x14]
jne 0x115e0
push 0x18
pop ecx
add esi, ecx
cmp esi, edi
jb 0x11542
cmp ebx, edi
jae 0x115d3
sub edi, ebx
lea esi, [ebx + 0xc]
xor edx, edx
lea eax, [edi - 1]
div ecx
lea edi, [eax + 1]
mov ecx, dword [esi - 4]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi + 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea esi, [esi + 0x18]
sub edi, 1
jne 0x115a8
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
lea edi, [esi + eax*4]
jmp 0x115f8
push 0xfffffffffffffffa
pop edx
mov ecx, str.cannot_copy_large_stream_n
jmp 0x116ba
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
add esi, 4
cmp esi, edi
jb 0x115ed
mov eax, dword [esp + 0xc]
push 9
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [sym.imp.ole32.dll_StgOpenStorage]
lea eax, [esp + 0x2c]
push eax
xor ebx, ebx
push ebx
push ebx
push 0x20
push ebx
push dword [esp + 0x4c]
call esi
test eax, eax
jns 0x11642
push 0xffffffffffffffef
pop edx
mov ecx, str.cannot_re_open_source_stream_n
jmp 0x116ba
lea eax, [esp + 0x30]
push eax
push ebx
push ebx
push 0x20
push ebx
push dword [esp + 0x48]
call esi
test eax, eax
jns 0x11660
push 0xffffffffffffffef
pop edx
mov ecx, str.cannot_re_open_target_stream_n
jmp 0x116ba
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
call fcn.00011237
test al, al
jne 0x1167b
push 0xffffffffffffffef
pop edx
mov ecx, str.result_is_broken_n
jmp 0x116ba
mov eax, dword [esp + 0x2c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push ebx
lea eax, [esp + 0x38]
push eax
push 3
push 0x121c4
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xfffffffffffffff7
pop edx
mov ecx, str.cannot_open_source_stream_n
call fcn.0001102d
int3