Function at 0x47ac10
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x529b70
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x5a4aa8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 4], edi
mov eax, dword [esi + 0x28af0]
cmp eax, 0xffffffff
je 0x47ac7c
lea ebx, [esi + 0x145e4]
mov ecx, ebx
call fcn.0047e010
cmp dword [eax], edi
je 0x47ac7c
mov eax, dword [esi + 0x28af0]
mov ecx, ebx
call fcn.0047e010
mov edi, dword [eax]
mov eax, dword [esi + 0x145cc]
test eax, eax
jne 0x47ac9a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x537454
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x47ae2e
mov eax, dword [esi + 0x28af4]
test eax, eax
jl 0x47acea
cmp eax, dword [esi + 0x14600]
jge 0x47acea
lea ebx, [esi + 0x145f8]
mov ecx, ebx
call fcn.0047e010
cmp dword [eax], 0
je 0x47acea
mov eax, dword [esi + 0x28af4]
mov ecx, ebx
call fcn.0047e010
push 0
mov ecx, dword [eax]
call fcn.004dfe7c
test edi, edi
je 0x47adc1
push str.call_End_function_for_next
mov ecx, 0x649e50
call fcn.004918f0
push str.USE_RET_VALUE
mov eax, dword [esi + 0x145cc]
add eax, 0x200
push eax
call fcn.004f9f1e
add esp, 0xc
test eax, eax
jne 0x47ad8d
push str.back
mov ecx, dword [esi + 0x145cc]
add ecx, 0xa00
push ecx
call fcn.004f9f1e
add esp, 8
test eax, eax
setne dl
mov byte [ebp - 0x20], dl
mov eax, dword [edi]
mov ecx, dword [ebp - 0x20]
push ecx
push edi
mov edx, dword [eax + 0x174]
call edx
test eax, eax
jne 0x47ad6e
mov eax, dword [esi + 0x145cc]
mov eax, dword [eax + 0x3200]
push eax
lea ecx, [edi + 0xfdf8]
push ecx
push str.The___s__dialog_result_from_GO_Next_Command_is___d_
jmp 0x47adb1
push str.The_Dialog_End_function_resturns_fail___
mov ecx, 0x649e50
call fcn.004918f0
mov byte [ebp - 0x11], 0
mov byte [edi + 0x14458], 1
jmp 0x47af2e
mov edx, dword [edi]
push 1
push edi
mov eax, dword [edx + 0x174]
call eax
test eax, eax
jne 0x47ad6e
mov eax, dword [edi + 0x11240]
push eax
lea ecx, [edi + 0xfdf8]
push ecx
push str.The___s__dialog_result_is___d_
mov dword [ebp - 0x18], eax
mov ecx, 0x649e50
call fcn.004918f0
add esp, 0xc
mov eax, dword [esi + 0x28b3c]
test eax, eax
je 0x47ae16
mov ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
push 0
lea ecx, [ebp - 0x1c]
push ecx
push 0xc
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x47b133
mov byte [ebp - 0x11], al
push str.WriteFile_of_Flow_Pipe_Data
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov edx, 0x649e50
call fcn.004917b0
jmp 0x47af2e
mov byte [ebp - 0x11], 0
push str.Could_not_go_Flow.._because_the_flow_pipe_is_invalid___
mov ecx, 0x649e50
call fcn.004918f0
jmp 0x47af2e
push str.go_back
mov eax, dword [esi + 0x145cc]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x47af81
mov eax, dword [esi + 0x28af4]
test eax, eax
jl 0x47ae84
cmp eax, dword [esi + 0x14600]
jge 0x47ae84
lea ebx, [esi + 0x145f8]
mov ecx, ebx
call fcn.0047e010
cmp dword [eax], 0
je 0x47ae84
mov eax, dword [esi + 0x28af4]
mov ecx, ebx
call fcn.0047e010
push 0
mov ecx, dword [eax]
call fcn.004dfe7c
test edi, edi
je 0x47aec0
push str.call_End_function_for_Back
mov ecx, 0x649e50
call fcn.004918f0
add esp, 4
mov ecx, dword [edi]
push 0
push edi
mov edx, dword [ecx + 0x174]
call edx
test eax, eax
je 0x47aec0
mov byte [ebp - 0x11], 0
push str.The_Dialog_End_function_resturns_fail___
mov ecx, 0x649e50
call fcn.004918f0
jmp 0x47af2e
mov eax, dword [esi + 0x28b3c]
test eax, eax
je 0x47af1b
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x28], 0
mov ecx, dword [esi + 0x145cc]
mov edx, dword [ecx + 0x3200]
mov dword [ebp - 0x24], edx
push 0
lea ecx, [ebp - 0x1c]
push ecx
push 0xc
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x47b133
push str.WriteFile_of_Flow_Pipe_Data
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov edx, 0x649e50
call fcn.004917b0
jmp 0x47af2a
push str.Could_not_back_Flow.._because_the_flow_pipe_is_invalid___
mov ecx, 0x649e50
call fcn.004918f0
mov byte [ebp - 0x11], 0
add esp, 4
mov eax, dword [esi + 0x28af4]
test eax, eax
jl 0x47af6b
cmp eax, dword [esi + 0x14600]
jge 0x47af6b
lea ebx, [esi + 0x145f8]
mov ecx, ebx
call fcn.0047e010
cmp dword [eax], 0
je 0x47af6b
mov eax, dword [esi + 0x28af4]
mov ecx, ebx
call fcn.0047e010
push 1
mov ecx, dword [eax]
call fcn.004dfe7c
test edi, edi
je 0x47b133
push 1
mov ecx, edi
call fcn.004dfe7c
jmp 0x47b133
push str.finish
mov eax, dword [esi + 0x145cc]
push eax
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x47b02c
test edi, edi
je 0x47afc9
push str.call_Finish_function_for_finish
mov ecx, 0x649e50
call fcn.004918f0
add esp, 4
mov ecx, dword [edi]
push 1
push edi
mov edx, dword [ecx + 0x174]
call edx
push 0
mov ecx, esi
call fcn.004dfe40
mov esi, dword [esi + 0x28b3c]
test esi, esi
je 0x47b01e
mov eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
push 0
lea edx, [ebp - 0x1c]
push edx
push 0xc
lea eax, [ebp - 0x2c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x47b133
mov byte [ebp - 0x11], al
push str.WriteFile_of_Flow_Pipe_Data
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov edx, 0x649e50
call fcn.004917b0
jmp 0x47b130
mov byte [ebp - 0x11], 0
push str.Could_not_go_Flow.._because_the_flow_pipe_is_invalid___
jmp 0x47b126
push 0x537704
mov ecx, dword [esi + 0x145cc]
push ecx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x47b0af
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
test edi, edi
je 0x47b05b
push eax
push eax
push 0x7fb
mov edx, dword [edi + 0x20]
push edx
call ebx
mov ecx, esi
call fcn.0047d170
test al, al
je 0x47b09b
test edi, edi
je 0x47b090
push str.Send_Process_Cancel_Message_to_current_dialog
mov ecx, 0x649e50
call fcn.004918f0
add esp, 4
push 0
push 1
push 0x7fb
mov eax, dword [edi + 0x20]
push eax
call ebx
jmp 0x47b133
push esi
call fcn.0047d360
jmp 0x47b133
push 0
push 2
push 0x7fb
mov ecx, dword [edi + 0x20]
push ecx
call ebx
jmp 0x47b133
push str.terminate
mov edx, dword [esi + 0x145cc]
push edx
call fcn.004f9f1e
add esp, 8
test eax, eax
jne 0x47b105
test edi, edi
je 0x47b0ea
push str.call_End_function_for_terminate
mov ecx, 0x649e50
call fcn.004918f0
add esp, 4
mov eax, dword [edi]
push 1
push edi
mov ecx, dword [eax + 0x174]
call ecx
push 0
mov ecx, esi
call fcn.004dfe40
push 0
push 0
push 0x12
mov edx, dword [esi + 0x20]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x47b133
mov ecx, dword [esi + 0x28b00]
test ecx, ecx
je 0x47b121
lea eax, [ebp - 0x18]
push eax
mov edx, dword [esi + 0x145cc]
push edx
call fcn.004087b0
jmp 0x47b133
push str._Wizard__Command_Processor_is_not_avaiable_____
mov ecx, 0x649e50
call fcn.004918f0
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8