Function at 0x412070
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x45b40e
mov eax, dword fs:[0]
push eax
sub esp, 0xa84
mov eax, dword [0x46e3d0]
xor eax, esp
mov dword [esp + 0xa80], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46e3d0]
xor eax, esp
push eax
lea eax, [esp + 0xa98]
mov dword fs:[0], eax
mov eax, ecx
shr eax, 0x10
xor ebp, ebp
cmp ax, bp
mov esi, edx
mov dword [esp + 0x34], esi
jne 0x4120ca
push ecx
mov ecx, esi
call fcn.00411ed0
jmp 0x4125b7
cmp ax, 0x300
jne 0x4125ba
cmp cx, 0x410
jne 0x4125ba
cmp dword [0x46f980], ebp
je 0x4120ef
mov dword [0x46f980], ebp
jmp 0x412102
cmp dword [0x46f5d8], 1
jne 0x412102
mov dword [0x46f5d8], 2
push 0x206
lea eax, [esp + 0x92]
push ebp
push eax
mov word [esp + 0x98], bp
call fcn.00443e10
add esp, 0xc
push 0x104
lea ecx, [esp + 0x90]
push ecx
push 0x410
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
mov edx, dword [0x471f6c]
mov eax, dword [0x471f68]
push edx
push eax
push str.g_AppConfig.g_nFreeSpace___lld__n
push 0x400
lea ecx, [esp + 0x2a4]
push 0x200
push ecx
mov word [esp + 0xaa], bp
call fcn.0043ef21
add esp, 0x18
lea ecx, [esp + 0x70]
call fcn.0042a750
mov dword [esp + 0xaa0], ebp
mov edi, 7
lea eax, [esp + 0x294]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4121a0
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x298]
push edx
lea esi, [esp + 0x20]
call fcn.00406f20
mov eax, esi
push ebp
push eax
or eax, 0xffffffff
lea esi, [esp + 0x78]
mov byte [esp + 0xaa8], 1
call fcn.00406d90
mov ebx, 8
cmp dword [esp + 0x30], ebx
jb 0x4121f1
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x88], ebx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
jae 0x41220f
lea edx, [esp + 0x74]
mov edi, dword [0x471b30]
cmp edi, ebp
je 0x41224a
mov eax, edx
lea esi, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x412220
sub eax, esi
sar eax, 1
push edi
add eax, eax
push eax
push 1
push edx
call fcn.0043fe21
mov ecx, dword [0x471b30]
push ecx
call fcn.004402ef
add esp, 0x14
mov dword [esp + 0xaa0], 0xffffffff
cmp dword [esp + 0x88], ebx
jb 0x41226b
mov edx, dword [esp + 0x74]
push edx
call fcn.0043ef40
add esp, 4
lea edx, [esp + 0x8c]
lea eax, [esp + 0x70]
call fcn.00406a70
lea eax, [esp + 0x70]
push eax
mov edi, 0x471f68
lea ecx, [esp + 0x58]
mov dword [esp + 0xaa4], 2
call fcn.0041e1f0
add esp, 4
mov bl, 4
mov esi, 8
mov byte [esp + 0xaa0], bl
cmp dword [esp + 0x88], esi
jb 0x4122c0
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x6c], esi
mov eax, dword [esp + 0x58]
mov edi, 7
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebp
mov word [esp + 0x74], bp
jae 0x4122e6
lea eax, [esp + 0x58]
push eax
push str.TXPubfunc::TXFile::GetInstallDiskFreeSpace__s_n
push 0x400
lea edx, [esp + 0x2a0]
push 0x200
push edx
call fcn.0043ef21
add esp, 0x14
lea ecx, [esp + 0x38]
call fcn.0042a750
mov byte [esp + 0xaa0], 5
lea eax, [esp + 0x294]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x412330
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x298]
push eax
lea esi, [esp + 0x20]
call fcn.00406f20
mov ecx, esi
push ebp
push ecx
or eax, 0xffffffff
lea esi, [esp + 0x40]
mov byte [esp + 0xaa8], 6
call fcn.00406d90
mov esi, 8
cmp dword [esp + 0x30], esi
jb 0x412381
mov edx, dword [esp + 0x1c]
push edx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x50], esi
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
jae 0x41239c
lea edx, [esp + 0x3c]
mov edi, dword [0x471b30]
cmp edi, ebp
je 0x4123da
mov eax, edx
lea esi, [eax + 2]
jmp 0x4123b0
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4123b0
sub eax, esi
sar eax, 1
push edi
add eax, eax
push eax
push 1
push edx
call fcn.0043fe21
mov ecx, dword [0x471b30]
push ecx
call fcn.004402ef
add esp, 0x14
mov esi, 8
mov byte [esp + 0xaa0], bl
cmp dword [esp + 0x50], esi
jb 0x4123f9
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x68], ebp
je 0x41258e
mov edx, 0x471080
lea eax, [esp + 0x18]
call fcn.00406a70
lea ecx, [esp + 0x54]
push ecx
push eax
lea edi, [esp + 0x40]
mov byte [esp + 0xaa8], 7
call fcn.00414ca0
add esp, 8
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x5c]
mov byte [esp + 0xaa8], 8
call fcn.00406cc0
mov ecx, edi
call fcn.00406ab0
lea ecx, [esp + 0x18]
mov byte [esp + 0xaa0], bl
call fcn.00406ab0
cmp dword [esp + 0x6c], esi
mov eax, dword [esp + 0x58]
jae 0x412464
lea eax, [esp + 0x58]
push eax
push str.TXPubfunc::TXFile::GetInstallDiskFreeSpace__s_n
push 0x400
lea edx, [esp + 0x6a0]
push 0x200
push edx
call fcn.0043ef21
add esp, 0x14
lea ecx, [esp + 0x38]
call fcn.0042a750
mov byte [esp + 0xaa0], 9
mov edi, 7
lea eax, [esp + 0x694]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4124b1
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x698]
push eax
lea esi, [esp + 0x20]
call fcn.00406f20
mov ecx, esi
push ebp
push ecx
or eax, 0xffffffff
lea esi, [esp + 0x40]
mov byte [esp + 0xaa8], 0xa
call fcn.00406d90
mov ebx, 8
cmp dword [esp + 0x30], ebx
jb 0x412502
mov edx, dword [esp + 0x1c]
push edx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x50], ebx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
jae 0x41251d
lea edx, [esp + 0x3c]
mov edi, dword [0x471b30]
cmp edi, ebp
je 0x41255a
mov eax, edx
lea esi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x412530
sub eax, esi
sar eax, 1
push edi
add eax, eax
push eax
push 1
push edx
call fcn.0043fe21
mov ecx, dword [0x471b30]
push ecx
call fcn.004402ef
add esp, 0x14
cmp dword [esp + 0x50], ebx
jb 0x41256d
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x58]
jae 0x41257b
lea eax, [esp + 0x58]
push eax
mov eax, dword [esp + 0x38]
push 0x413
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov esi, ebx
mov ecx, dword [esp + 0x34]
push 5
push 0x413
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [esp + 0x6c], esi
jb 0x4125ba
mov edx, dword [esp + 0x58]
push edx
call fcn.0043ef40
add esp, 4
mov ecx, dword [esp + 0xa98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa80]
xor ecx, esp
call fcn.0043ef12
add esp, 0xa90
ret