Function at 0x40b670
Capabilities:
Delete file
Get disk size
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x46c1de
mov eax, dword fs:[0]
push eax
sub esp, 0x35c
mov eax, dword [0x4854a0]
xor eax, esp
mov dword [esp + 0x358], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4854a0]
xor eax, esp
push eax
lea eax, [esp + 0x370]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x380]
mov esi, ecx
push 4
xor ebx, ebx
push str..enz
lea ecx, [esp + 0x184]
mov dword [esp + 0x30], esi
mov dword [esp + 0x19c], 0xf
mov dword [esp + 0x198], ebx
mov byte [esp + 0x188], bl
call fcn.00403a90
lea eax, [esp + 0x17c]
lea edi, [esi + 4]
push eax
mov dword [esp + 0x37c], ebx
push edi
lea esi, [esp + 0x1f4]
mov dword [esp + 0x28], edi
call fcn.004053a0
add esp, 8
mov byte [esp + 0x378], 2
cmp dword [esp + 0x194], 0x10
jb 0x40b72e
mov ecx, dword [esp + 0x180]
push ecx
call fcn.0041bf87
add esp, 4
mov esi, dword [ebp + 0x548]
mov eax, 0xf
mov dword [esp + 0x194], eax
mov dword [esp + 0x44], eax
mov eax, esi
mov dword [esp + 0x190], ebx
mov byte [esp + 0x180], bl
mov dword [esp + 0x40], ebx
mov byte [esp + 0x30], bl
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x40b760
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x34]
call fcn.00403a90
lea edx, [esp + 0x2c]
push edi
push edx
lea esi, [esp + 0x1a0]
mov byte [esp + 0x380], 3
call fcn.004053a0
add esp, 8
mov byte [esp + 0x378], 5
cmp dword [esp + 0x44], 0x10
jb 0x40b7af
mov eax, dword [esp + 0x30]
push eax
call fcn.0041bf87
add esp, 4
mov ecx, dword [esp + 0x20]
lea edi, [ebp + 0x428]
push ecx
mov ecx, edi
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.00407c50
mov esi, eax
cmp esi, 0xffffffff
je 0x40bf17
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x40b7fd
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x3ee4f99d
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x40b802
call fcn.004382be
imul esi, esi, 0x209
add esi, dword [edi + 4]
mov dword [esp + 0x1e8], 0xf
mov dword [esp + 0x18], esi
add esi, 0x104
mov eax, esi
mov dword [esp + 0x1e4], ebx
mov byte [esp + 0x1d4], bl
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x40b833
sub eax, edi
push eax
push esi
lea ecx, [esp + 0x1d8]
call fcn.00403a90
mov byte [esp + 0x378], 6
mov esi, dword [ebp + 0x548]
mov edi, 0xf
mov eax, esi
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x40b873
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x70]
call fcn.00403a90
lea edx, [esp + 0x1d0]
push edx
lea eax, [esp + 0x6c]
push eax
lea esi, [esp + 0x210]
mov byte [esp + 0x380], 7
call fcn.004053a0
add esp, 8
mov esi, 0x10
cmp dword [esp + 0x80], esi
jb 0x40b8c8
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.0041bf87
add esp, 4
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
mov byte [esp + 0x378], 0xa
cmp dword [esp + 0x1e8], esi
jb 0x40b8f8
mov edx, dword [esp + 0x1d4]
push edx
call fcn.0041bf87
add esp, 4
mov esi, dword [esp + 0x18]
mov eax, esi
mov dword [esp + 0x1e8], edi
mov dword [esp + 0x1e4], ebx
mov byte [esp + 0x1d4], bl
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
lea edx, [eax + 1]
jmp 0x40b930
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x40b930
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x98]
call fcn.00403a90
mov byte [esp + 0x378], 0xb
push 1
push 0x477658
lea ecx, [esp + 0x34]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
call fcn.00403a90
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x20c]
push ecx
lea esi, [esp + 0x54]
mov byte [esp + 0x380], 0xc
call fcn.004053a0
lea edx, [esp + 0x98]
push edx
push eax
lea esi, [esp + 0x18c]
mov byte [esp + 0x388], 0xd
call fcn.004053a0
add esp, 0x10
mov esi, 0x10
cmp dword [esp + 0x64], esi
jb 0x40b9c3
mov eax, dword [esp + 0x50]
push eax
call fcn.0041bf87
add esp, 4
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
cmp dword [esp + 0x44], esi
jb 0x40b9e2
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0041bf87
add esp, 4
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebx
mov byte [esp + 0x30], bl
mov byte [esp + 0x378], 0x11
cmp dword [esp + 0xa8], esi
jb 0x40ba0f
mov edx, dword [esp + 0x94]
push edx
call fcn.0041bf87
add esp, 4
lea eax, [esp + 0x1d0]
push eax
lea edi, [esp + 0x180]
mov dword [esp + 0xac], 0xf
mov dword [esp + 0xa8], ebx
mov byte [esp + 0x98], bl
call fcn.00412db0
push ebx
lea ecx, [esp + 0x1d4]
push ecx
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0x384], 0x12
call fcn.00453310
mov eax, dword [eax]
add esp, 0xc
cmp eax, ebx
je 0x40ba6c
cmp eax, 1
je 0x40ba6c
mov eax, 1
jmp 0x40ba6e
xor eax, eax
cmp al, bl
sete byte [esp + 0x1f]
mov byte [esp + 0x378], 0x11
cmp dword [esp + 0x1e8], 8
jb 0x40ba97
mov eax, dword [esp + 0x1d4]
push eax
call fcn.0041bf87
add esp, 4
cmp byte [esp + 0x1f], bl
je 0x40bbec
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x208]
xor edx, edx
cmp al, bl
setne dl
lea eax, [esp + 0x1d0]
push eax
lea edi, [esp + 0x20c]
mov esi, edx
call fcn.00412db0
lea ecx, [esp + 0x1d0]
push ebx
push ecx
mov byte [esp + 0x380], 0x13
call fcn.004535f0
add esp, 8
cmp dword [esp + 0x1e8], 8
jb 0x40bafb
mov edx, dword [esp + 0x1d4]
push edx
call fcn.0041bf87
add esp, 4
mov dword [esp + 0x22c], ebx
mov dword [esp + 0x230], ebx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x250], 0xf
mov dword [esp + 0x24c], ebx
mov byte [esp + 0x23c], bl
mov dword [esp + 0x224], ebx
mov dword [esp + 0x254], 0xffffffff
mov dword [esp + 0x25c], ebx
mov dword [esp + 0x364], ebx
mov byte [esp + 0x260], bl
mov dword [esp + 0x360], ebx
mov byte [esp + 0x378], 0x14
mov ecx, dword [esp + 0x180]
mov edi, 0x10
cmp dword [esp + 0x194], edi
jae 0x40bb7b
lea ecx, [esp + 0x180]
lea eax, [ebp + 0x43c]
push eax
push esi
lea edx, [esp + 0x22c]
push edx
call fcn.00406430
lea eax, [esp + 0x224]
call fcn.00412a10
mov byte [esp + 0x378], 0x11
cmp dword [esp + 0x250], edi
jb 0x40bbbd
mov eax, dword [esp + 0x23c]
push eax
call fcn.0041bf87
add esp, 4
mov eax, dword [esp + 0x22c]
cmp eax, ebx
mov dword [esp + 0x250], 0xf
mov dword [esp + 0x24c], ebx
mov byte [esp + 0x23c], bl
je 0x40bbf1
push eax
call fcn.0041bf87
add esp, 4
jmp 0x40bbf1
mov edi, 0x10
cmp dword [ebp + 0x424], edi
mov ecx, dword [ebp + 0x420]
jb 0x40bc07
mov eax, dword [ebp + 0x410]
jmp 0x40bc0d
lea eax, [ebp + 0x410]
push ecx
mov ecx, dword [esp + 0x194]
push eax
push ecx
push ebx
lea ecx, [esp + 0x18c]
call fcn.00403040
test eax, eax
je 0x40bd43
lea esi, [ebp + 0x2c8]
push esi
call fcn.00412e10
cmp dword [esp + 0x194], edi
mov eax, dword [esp + 0x180]
jae 0x40bc4f
lea eax, [esp + 0x180]
push eax
lea ecx, [ebp + 0x43c]
push esi
call fcn.00406110
cmp eax, ebx
je 0x40bd28
cmp eax, 0x11
jne 0x40be21
mov eax, dword [ebp + 0x548]
push eax
lea ecx, [esp + 0x6c]
call fcn.00402480
push eax
mov edi, str._repair.flg
lea esi, [esp + 0x1d4]
mov byte [esp + 0x37c], 0x15
call fcn.00405440
add esp, 4
lea ecx, [esp + 0x68]
mov byte [esp + 0x378], 0x17
call fcn.004024c0
cmp dword [esp + 0x1e8], 0x10
mov eax, dword [esp + 0x1d4]
jae 0x40bcc3
lea eax, [esp + 0x1d4]
push eax
lea edx, [esp + 0xf8]
push edx
call fcn.0040f0d0
lea edi, [esp + 0xf4]
mov byte [esp + 0x378], 0x18
call fcn.0040f260
lea ecx, [esp + 0x148]
mov byte [esp + 0x378], 0x17
call fcn.0040f1f0
lea eax, [esp + 0x148]
push eax
mov dword [esp + method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00450aa5
add esp, 4
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x378], 0x11
call fcn.004024c0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x184]
push ecx
lea ecx, [ebp + 0x40c]
call fcn.00402f60
mov edi, 0x10
cmp dword [esp + 0x194], edi
mov eax, dword [esp + 0x180]
jae 0x40bd5a
lea eax, [esp + 0x180]
fld dword [esp + 0x384]
push ecx
mov ecx, dword [esp + 0x2c]
fstp dword [esp]
push eax
push ebp
call fcn.0040aba0
cmp dword [esp + 0x194], edi
mov esi, eax
jb 0x40bd8b
mov edx, dword [esp + 0x180]
push edx
call fcn.0041bf87
add esp, 4
cmp dword [esp + 0x220], edi
mov ebp, 0xf
mov dword [esp + 0x194], ebp
mov dword [esp + 0x190], ebx
mov byte [esp + 0x180], bl
jb 0x40bdbe
mov eax, dword [esp + 0x20c]
push eax
call fcn.0041bf87
add esp, 4
cmp dword [esp + 0x1b0], edi
mov dword [esp + 0x220], ebp
mov dword [esp + 0x21c], ebx
mov byte [esp + 0x20c], bl
jb 0x40bdec
mov ecx, dword [esp + 0x19c]
push ecx
call fcn.0041bf87
add esp, 4
cmp dword [esp + 0x204], edi
mov dword [esp + 0x1b0], ebp
mov dword [esp + 0x1ac], ebx
mov byte [esp + 0x19c], bl
jb 0x40be1a
mov edx, dword [esp + 0x1f0]
push edx
call fcn.0041bf87
add esp, 4
mov eax, esi
jmp 0x40c50c
push 0x4775eb
lea ecx, [ebp + 0x40c]
call fcn.004024f0
cmp dword [esp + 0x194], 0x10
mov eax, dword [esp + 0x180]
jae 0x40be49
lea eax, [esp + 0x180]
push eax
lea ecx, [esp + 0x1c]
call fcn.004022c0
lea ecx, [esp + 0x20]
push str.Open_packagefile_error:
push ecx
mov bl, 0x19
mov ecx, eax
mov byte [esp + 0x380], bl
call fcn.0040df30
add esp, 8
lea ecx, [ebp + 0x540]
push eax
mov byte [esp + 0x37c], 0x1a
call fcn.00402e20
mov byte [esp + 0x378], bl
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40beab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40bed3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0xe
lea ecx, [ebp + 0x544]
call fcn.00402400
lea ecx, [esp + 0x17c]
call fcn.004024c0
lea ecx, [esp + 0x208]
call fcn.004024c0
lea ecx, [esp + 0x198]
call fcn.004024c0
lea ecx, [esp + 0x1ec]
call fcn.004024c0
xor eax, eax
jmp 0x40c50c
lea eax, [esp + 0x4c]
push eax
lea edi, [esp + 0x19c]
call fcn.00412db0
mov ecx, eax
mov byte [esp + 0x378], 0x1b
call fcn.00453e30
push 0xffffffffffffffff
push ebx
mov esi, 7
push eax
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1d4], ebx
mov word [esp + 0x1c4], bx
call fcn.00403170
mov edi, 8
mov byte [esp + 0x378], 0x1d
cmp dword [esp + 0x64], edi
jb 0x40bf82
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0041bf87
add esp, 4
lea edx, [esp + 0x1b4]
push ebx
push edx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov word [esp + 0x58], bx
call fcn.004535f0
mov eax, dword [esp + 0x30]
add esp, 8
cmp byte [eax + 0x28], 0x2d
jne 0x40c068
cmp dword [esp + 0x1b0], 0x10
mov eax, dword [esp + 0x19c]
jae 0x40bfc6
lea eax, [esp + 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
fld dword [esp + 0x384]
cmp dword [esp + 0x1cc], edi
fadd dword [ebp + 0x2c4]
fstp dword [ebp + 0x2c4]
jb 0x40bff9
mov ecx, dword [esp + 0x1b8]
push ecx
call fcn.0041bf87
add esp, 4
mov dword [esp + 0x1cc], esi
mov esi, 0x10
cmp dword [esp + 0x1b0], esi
mov dword [esp + 0x1c8], ebx
mov word [esp + 0x1b8], bx
jb 0x40c02d
mov edx, dword [esp + 0x19c]
push edx
call fcn.0041bf87
add esp, 4
cmp dword [esp + 0x204], esi
mov dword [esp + 0x1b0], 0xf
mov dword [esp + 0x1ac], ebx
mov byte [esp + 0x19c], bl
jb 0x40c507
mov eax, dword [esp + 0x1f0]
push eax
call fcn.0041bf87
add esp, 4
jmp 0x40c507
cmp dword [esp + 0x204], 0x10
mov eax, dword [esp + 0x1f0]
jae 0x40c080
lea eax, [esp + 0x1f0]
mov ebx, dword [ebp + 0xb0]
lea edi, [ebp + 0x74]
push eax
call fcn.0040e450
xor esi, esi
cmp eax, esi
je 0x40c0c4
mov ecx, dword [edi + 4]
cmp ecx, esi
mov ebx, dword [eax]
je 0x40c0aa
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 6
cmp ebx, eax
jb 0x40c0af
call fcn.004382be
mov ecx, dword [edi + 4]
shl ebx, 6
mov esi, dword [ebx + ecx + 0x3c]
cmp esi, 0xffffffff
jne 0x40c179
xor esi, esi
push str.Patch_file_error.
lea ecx, [ebp + 0x540]
call fcn.004023c0
push 0xb
call fcn.0041c647
cmp eax, esi
je 0x40c0ed
push 0xb
push eax
lea ecx, [ebp + 0x544]
call fcn.00402cc0
cmp dword [esp + 0x1cc], 8
jb 0x40c107
mov edx, dword [esp + 0x1b8]
push edx
call fcn.0041bf87
add esp, 4
mov edi, 0x10
cmp dword [esp + 0x1b0], edi
mov dword [esp + 0x1cc], 7
mov dword [esp + 0x1c8], esi
mov word [esp + 0x1b8], si
jb 0x40c13f
mov eax, dword [esp + 0x19c]
push eax
call fcn.0041bf87
add esp, 4
cmp dword [esp + 0x204], edi
mov dword [esp + 0x1b0], 0xf
mov dword [esp + 0x1ac], esi
mov byte [esp + 0x19c], 0
jb 0x40c172
mov ecx, dword [esp + 0x1f0]
push ecx
call fcn.0041bf87
add esp, 4
xor eax, eax
jmp 0x40c50c
push esi
call fcn.0041bf8c
mov ebx, eax
add esp, 4
mov dword [esp + 0x24], ebx
test ebx, ebx
mov byte [esp + 0x378], 0x1e
jne 0x40c1cb
push 0x477848
lea ecx, [ebp + 0x540]
call fcn.004023c0
push 0xb
lea ecx, [ebp + 0x544]
call fcn.00402400
push ebx
call fcn.0041bf87
add esp, 4
lea ecx, [esp + 0x1b4]
call fcn.00402880
jmp 0x40bef8
cmp dword [esp + 0x204], 0x10
mov eax, dword [esp + 0x1f0]
jae 0x40c1e3
lea eax, [esp + 0x1f0]
push ebx
push eax
lea edx, [ebp + 0x1bd]
push edx
call fcn.00409d50
test al, al
jne 0x40c215
push str.Patch_file_error.
lea ecx, [ebp + 0x540]
call fcn.004023c0
push 0xb
lea ecx, [ebp + 0x544]
call fcn.00402400
push ebx
jmp 0x40c1b2
fld dword [esp + 0x384]
fmul qword [0x477da8]
fst qword [esp + 0xe4]
fadd dword [ebp + 0x2c4]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ebp + 0x2c4]
fmul qword [0x477da0]
call fcn.0043bf00
mov ecx, ebp
call fcn.0040dc30
lea eax, [esp + 0x4c]
push eax
lea edi, [esp + 0x19c]
call fcn.00412db0
mov ecx, eax
mov byte [esp + 0x378], 0x1f
call fcn.00453e30
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x1c0]
call fcn.00403170
lea ecx, [esp + 0x4c]
mov byte [esp + 0x378], 0x1e
call fcn.00402880
lea ecx, [esp + 0x1b4]
push 0
push ecx
call fcn.004535f0
mov eax, dword [esp + 0x1a4]
add esp, 8
cmp dword [esp + 0x1b0], 0x10
jae 0x40c2bb
lea eax, [esp + 0x19c]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push 0
lea edx, [esp + 0x8c]
push edx
mov ebx, eax
push 0
mov dword [esp + 0x28], ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
cmp dword [esp + 0x88], 0
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
jne 0x40c343
mov edi, dword [esp + 0x84]
xor ecx, ecx
cmp ecx, eax
jg 0x40c343
jl 0x40c315
cmp edi, edx
jae 0x40c343
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.Out_of_disk_space.
lea ecx, [ebp + 0x540]
call fcn.004023c0
push 0xf
lea ecx, [ebp + 0x544]
call fcn.00402400
mov eax, dword [esp + 0x24]
push eax
jmp 0x40c1b2
mov eax, dword [esp + 0x24]
mov bl, byte [eax + esi - 1]
add esi, 0xfffffffc
mov dword [esp + 0x28], esi
push 0x40000
sub bl, 0x5c
lea esi, [eax + 4]
call fcn.0041bf8c
mov edi, eax
add esp, 4
mov dword [esp + 0xf0], edi
test edi, edi
mov byte [esp + 0x378], 0x20
jne 0x40c3b5
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x477848
lea ecx, [ebp + 0x540]
call fcn.004023c0
push 0xb
lea ecx, [ebp + 0x544]
call fcn.00402400
push edi
call fcn.0041bf87
mov edx, dword [esp + 0x28]
add esp, 4
push edx
jmp 0x40c1b2
xor eax, eax
push 0x38
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xb0]
push str.1.2.3
push eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0xc4], edi
call fcn.00416190
xor byte [esi], bl
mov eax, dword [esp + 0x34]
add esp, 0xc
test eax, eax
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], eax
jbe 0x40c485
mov ebx, dword [esp + 0x18]
jmp 0x40c420
lea ecx, [esp + 0xac]
push 0
mov esi, 0x40000
push ecx
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], esi
call fcn.004162d0
sub esi, dword [esp + 0xc4]
add esp, 8
push 0
lea edx, [esp + 0x4c]
push edx
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x40c56d
cmp dword [esp + 0x48], esi
jne 0x40c56d
cmp byte [ebp + 0x1bc], 0
jne 0x40c536
cmp dword [esp + 0xb0], 0
ja 0x40c420
lea eax, [esp + 0xac]
push eax
call fcn.00417900
mov ecx, dword [esp + 0x1c]
add esp, 4
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
fld dword [ebp + 0x2c4]
fadd qword [esp + 0xe4]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ebp + 0x2c4]
fmul qword [0x477da0]
call fcn.0043bf00
mov ecx, ebp
call fcn.0040dc30
push edi
call fcn.0041bf87
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.0041bf87
add esp, 4
lea ecx, [esp + 0x1b4]
call fcn.00402880
lea ecx, [esp + 0x198]
call fcn.004024c0
lea ecx, [esp + 0x1ec]
call fcn.004024c0
mov eax, 1
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x358]
xor ecx, esp
call fcn.00436f5b
add esp, 0x368
ret 8
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.User_aborted.
lea ecx, [ebp + 0x540]
call fcn.004023c0
push 0xd
lea ecx, [ebp + 0x544]
call fcn.00402400
push edi
call fcn.0041bf87
mov eax, dword [esp + 0x28]
add esp, 4
push eax
jmp 0x40c1b2
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x18], 0x10
jb 0x40c583
mov eax, dword [eax + 4]
jmp 0x40c586
add eax, 4
push eax
lea ecx, [esp + 0x1c]
call fcn.004022c0
lea ecx, [esp + 0x20]
push str.Writing_file_to_disk_error:
push ecx
mov ecx, eax
mov byte [esp + 0x380], 0x21
call fcn.0040df30
add esp, 8
push eax
lea ecx, [ebp + 0x540]
mov byte [esp + 0x37c], 0x22
call fcn.004023a0
lea ecx, [esp + 0x20]
call fcn.00402380
lea ecx, [esp + 0x18]
mov byte [esp + 0x378], 0x20
call fcn.00402380
push 0x10
lea ecx, [ebp + 0x544]
call fcn.00402400
push edi
call fcn.0041bf87
mov edx, dword [esp + 0x28]
add esp, 4
push edx
jmp 0x40c1b2