Function at 0x418a70
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x484195
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7f8
mov eax, dword [0x4a57cc]
mov dword [ebp - 0x1c], eax
push esi
push edi
mov dword [ebp - 0x784], ecx
mov ecx, dword [ebp + 0x10]
call fcn.00420d30
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 0x10]
call fcn.0042fc40
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
jmp 0x418ac8
mov ecx, dword [ebp - 0x18]
add ecx, 0x638
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x14]
je 0x418d2d
mov eax, dword [ebp - 0x784]
cmp dword [eax + 0x534], 0
jne 0x418aea
xor eax, eax
jmp 0x41967e
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0x48b198
lea eax, [ebp - 0x11c]
push eax
call fcn.00463edd
add esp, 0x10
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 0x48b1a0
lea eax, [ebp - 0x21c]
push eax
call fcn.00463edd
add esp, 0x10
mov ecx, dword [ebp - 0x18]
push ecx
push 0x48b1a8
mov edx, dword [ebp - 0x18]
add edx, 0x100
push edx
call fcn.00463edd
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
push str.Calc_CRC__MakeComp_File___s_
mov ecx, dword [ebp - 0x784]
push ecx
call fcn.0041e290
add esp, 0xc
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp - 0x18]
add eax, 0x20c
push eax
lea ecx, [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x11c]
push edx
mov ecx, dword [ebp - 0x784]
call fcn.004198e0
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x208], eax
mov edx, dword [ebp - 0x18]
cmp dword [edx + 0x41c], 0
je 0x418c58
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push 0x48b1d0
lea edx, [ebp - 0x21c]
push edx
call fcn.00463edd
add esp, 0x10
lea eax, [ebp - 0x21c]
push eax
push 0x48b1e0
mov ecx, dword [ebp - 0x784]
push ecx
call fcn.0041e290
add esp, 0xc
lea ecx, [ebp - 0x230]
call fcn.0041e450
mov dword [ebp - 4], 0
push 0x20
push 0x1000000
lea edx, [ebp - 0x21c]
push edx
lea eax, [ebp - 0x11c]
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x21c
push ecx
lea ecx, [ebp - 0x230]
call fcn.0041e5c0
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x420], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x420], 0
jne 0x418c46
mov dword [ebp - 0x770], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.0041e490
mov eax, dword [ebp - 0x770]
jmp 0x41967e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.0041e490
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x624], 0
je 0x418d28
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp + 0xc]
push eax
push 0x48b1f8
lea ecx, [ebp - 0x21c]
push ecx
call fcn.00463edd
add esp, 0x10
lea edx, [ebp - 0x21c]
push edx
push str.Make_Delta_File___s_
mov eax, dword [ebp - 0x784]
push eax
call fcn.0041e290
add esp, 0xc
lea ecx, [ebp - 0x244]
call fcn.0041e450
mov dword [ebp - 4], 1
push 0x20
push 0x1000000
lea ecx, [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x11c]
push edx
mov eax, dword [ebp - 0x18]
add eax, 0x424
push eax
lea ecx, [ebp - 0x244]
call fcn.0041e5c0
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x628], eax
mov edx, dword [ebp - 0x18]
cmp dword [edx + 0x420], 0
jne 0x418d16
mov dword [ebp - 0x774], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x244]
call fcn.0041e490
mov eax, dword [ebp - 0x774]
jmp 0x41967e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x244]
call fcn.0041e490
jmp 0x418abc
lea ecx, [ebp - 0x775]
call fcn.004210b0
mov dword [ebp - 0x788], eax
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x78c], eax
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x78c]
push ecx
lea ecx, [ebp - 0x36c]
call fcn.004206d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x775]
call fcn.00420770
lea ecx, [ebp - 0x776]
call fcn.004210b0
mov dword [ebp - 0x790], eax
mov edx, dword [ebp - 0x790]
mov dword [ebp - 0x794], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x794]
push eax
lea ecx, [ebp - 0x250]
call fcn.004206d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x776]
call fcn.00420770
cmp dword [ebp + 0x18], 0
je 0x418e55
mov ecx, dword [ebp + 0xc]
push ecx
push str._s_files.nfo
lea edx, [ebp - 0x354]
push edx
call fcn.00463edd
add esp, 0xc
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
lea eax, [ebp - 0x354]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x35c], eax
cmp dword [ebp - 0x35c], 0xffffffff
jne 0x418e55
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_create_files.nfo_:_error_code___d
mov ecx, dword [ebp - 0x784]
push ecx
call fcn.0041e290
add esp, 0xc
mov dword [ebp - 0x77c], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x250]
call fcn.00420300
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x36c]
call fcn.00420300
mov eax, dword [ebp - 0x77c]
jmp 0x41967e
mov edx, dword [ebp + 0xc]
push edx
push str._s_files.nfo2
lea eax, [ebp - 0x354]
push eax
call fcn.00463edd
add esp, 0xc
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
lea ecx, [ebp - 0x354]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x358], eax
cmp dword [ebp - 0x358], 0xffffffff
jne 0x418ef9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_create_files.nfo2_:_error_code___d
mov edx, dword [ebp - 0x784]
push edx
call fcn.0041e290
add esp, 0xc
mov eax, dword [ebp - 0x35c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x780], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x250]
call fcn.00420300
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x36c]
call fcn.00420300
mov eax, dword [ebp - 0x780]
jmp 0x41967e
mov ecx, 0xa
mov esi, str.NFO200___DO_NOT_edit_this_line_manually_r_n
lea edi, [ebp - 0x76c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x76c]
mov dword [ebp - 0x798], ecx
mov edx, dword [ebp - 0x798]
inc edx
mov dword [ebp - 0x79c], edx
mov eax, dword [ebp - 0x798]
mov cl, byte [eax]
mov byte [ebp - 0x79d], cl
inc dword [ebp - 0x798]
cmp byte [ebp - 0x79d], 0
jne 0x418f26
mov edx, dword [ebp - 0x798]
sub edx, dword [ebp - 0x79c]
mov dword [ebp - 0x7a4], edx
push 0
lea eax, [ebp - 0x360]
push eax
mov ecx, dword [ebp - 0x7a4]
push ecx
lea edx, [ebp - 0x76c]
push edx
mov eax, dword [ebp - 0x358]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp + 0x10]
call fcn.00420d30
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 0x10]
call fcn.0042fc40
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
jmp 0x418fa3
mov edx, dword [ebp - 0x18]
add edx, 0x638
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x14]
je 0x41924b
push 0x100
mov ecx, dword [ebp - 0x18]
push ecx
lea edx, [ebp - 0x76c]
push edx
call fcn.004031d0
add esp, 0xc
lea eax, [ebp - 0x76c]
push eax
call fcn.0040ad90
add esp, 4
cmp dword [ebp + 0x14], 0
je 0x419004
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x76c]
push edx
call fcn.0040ad70
add esp, 8
test eax, eax
jne 0x419004
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x250]
call fcn.00420360
jmp 0x418f97
push 0x48b2c4
lea ecx, [ebp - 0x76c]
push ecx
call fcn.0040ad50
add esp, 8
test eax, eax
je 0x419094
push 8
push str.userdump
push 0x48b2d8
lea edx, [ebp - 0x76c]
push edx
call fcn.0040ad50
add esp, 8
mov ecx, 1
shl ecx, 3
sub eax, ecx
push eax
call fcn.00416340
add esp, 0xc
test eax, eax
je 0x419094
push 9
push str.uninstall
push 0x48b2ec
lea edx, [ebp - 0x76c]
push edx
call fcn.0040ad50
add esp, 8
mov ecx, 1
imul ecx, ecx, 9
sub eax, ecx
push eax
call fcn.00416340
add esp, 0xc
test eax, eax
je 0x419094
mov edx, dword [ebp - 0x18]
push edx
lea ecx, [ebp - 0x36c]
call fcn.00420360
jmp 0x418f97
cmp dword [ebp + 0x18], 0
je 0x419154
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x210]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x208]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x204]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x200]
push ecx
mov edx, dword [ebp - 0x18]
add edx, 0x100
push edx
mov eax, dword [ebp - 0x18]
push eax
push 0x48b2f4
lea ecx, [ebp - 0x76c]
push ecx
call fcn.00463edd
add esp, 0x20
lea edx, [ebp - 0x76c]
mov dword [ebp - 0x7a8], edx
mov eax, dword [ebp - 0x7a8]
inc eax
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x7a8]
mov dl, byte [ecx]
mov byte [ebp - 0x7ad], dl
inc dword [ebp - 0x7a8]
cmp byte [ebp - 0x7ad], 0
jne 0x419101
mov eax, dword [ebp - 0x7a8]
sub eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b4], eax
push 0
lea ecx, [ebp - 0x360]
push ecx
mov edx, dword [ebp - 0x7b4]
push edx
lea eax, [ebp - 0x76c]
push eax
mov ecx, dword [ebp - 0x35c]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x630]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x628]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x624]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x420]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x41c]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x214]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x218]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x20c]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x204]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x200]
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x100
push ecx
mov edx, dword [ebp - 0x18]
push edx
push 0x48b314
lea eax, [ebp - 0x76c]
push eax
call fcn.00463edd
add esp, 0x38
lea ecx, [ebp - 0x76c]
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x7b8]
inc edx
mov dword [ebp - 0x7bc], edx
mov eax, dword [ebp - 0x7b8]
mov cl, byte [eax]
mov byte [ebp - 0x7bd], cl
inc dword [ebp - 0x7b8]
cmp byte [ebp - 0x7bd], 0
jne 0x4191f3
mov edx, dword [ebp - 0x7b8]
sub edx, dword [ebp - 0x7bc]
mov dword [ebp - 0x7c4], edx
push 0
lea eax, [ebp - 0x360]
push eax
mov ecx, dword [ebp - 0x7c4]
push ecx
lea edx, [ebp - 0x76c]
push edx
mov eax, dword [ebp - 0x358]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x418f97
lea ecx, [ebp - 0x36c]
call fcn.00420d30
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x36c]
call fcn.0042fc40
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
jmp 0x41927b
mov edx, dword [ebp - 0x18]
add edx, 0x638
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x14]
je 0x41943d
cmp dword [ebp + 0x18], 0
je 0x419346
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x210]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x208]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x204]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x200]
push edx
mov eax, dword [ebp - 0x18]
add eax, 0x100
push eax
mov ecx, dword [ebp - 0x18]
push ecx
push 0x48b354
lea edx, [ebp - 0x76c]
push edx
call fcn.00463edd
add esp, 0x20
lea eax, [ebp - 0x76c]
mov dword [ebp - 0x7c8], eax
mov ecx, dword [ebp - 0x7c8]
inc ecx
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x7c8]
mov al, byte [edx]
mov byte [ebp - 0x7cd], al
inc dword [ebp - 0x7c8]
cmp byte [ebp - 0x7cd], 0
jne 0x4192f3
mov ecx, dword [ebp - 0x7c8]
sub ecx, dword [ebp - 0x7cc]
mov dword [ebp - 0x7d4], ecx
push 0
lea edx, [ebp - 0x360]
push edx
mov eax, dword [ebp - 0x7d4]
push eax
lea ecx, [ebp - 0x76c]
push ecx
mov edx, dword [ebp - 0x35c]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x630]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x628]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x624]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x420]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x41c]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x214]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x218]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x20c]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x204]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x200]
push ecx
mov edx, dword [ebp - 0x18]
add edx, 0x100
push edx
mov eax, dword [ebp - 0x18]
push eax
push 0x48b374
lea ecx, [ebp - 0x76c]
push ecx
call fcn.00463edd
add esp, 0x38
lea edx, [ebp - 0x76c]
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x7d8]
inc eax
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x7d8]
mov dl, byte [ecx]
mov byte [ebp - 0x7dd], dl
inc dword [ebp - 0x7d8]
cmp byte [ebp - 0x7dd], 0
jne 0x4193e5
mov eax, dword [ebp - 0x7d8]
sub eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x7e4], eax
push 0
lea ecx, [ebp - 0x360]
push ecx
mov edx, dword [ebp - 0x7e4]
push edx
lea eax, [ebp - 0x76c]
push eax
mov ecx, dword [ebp - 0x358]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x41926f
cmp dword [ebp + 0x14], 0
je 0x419638
lea ecx, [ebp - 0x250]
call fcn.00420d30
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x250]
call fcn.0042fc40
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x18], edx
jmp 0x419476
mov eax, dword [ebp - 0x18]
add eax, 0x638
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x14]
je 0x419638
cmp dword [ebp + 0x18], 0
je 0x419542
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x210]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x208]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x204]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x200]
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x100
push ecx
mov edx, dword [ebp - 0x18]
push edx
push str.__s____s____d____d____d____d__r_n
lea eax, [ebp - 0x76c]
push eax
call fcn.00463edd
add esp, 0x20
lea ecx, [ebp - 0x76c]
mov dword [ebp - 0x7e8], ecx
mov edx, dword [ebp - 0x7e8]
inc edx
mov dword [ebp - 0x7ec], edx
mov eax, dword [ebp - 0x7e8]
mov cl, byte [eax]
mov byte [ebp - 0x7ed], cl
inc dword [ebp - 0x7e8]
cmp byte [ebp - 0x7ed], 0
jne 0x4194ef
mov edx, dword [ebp - 0x7e8]
sub edx, dword [ebp - 0x7ec]
mov dword [ebp - 0x7f4], edx
push 0
lea eax, [ebp - 0x360]
push eax
mov ecx, dword [ebp - 0x7f4]
push ecx
lea edx, [ebp - 0x76c]
push edx
mov eax, dword [ebp - 0x35c]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x630]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x628]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x624]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x420]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x41c]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x214]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x218]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x20c]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x204]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x200]
push edx
mov eax, dword [ebp - 0x18]
add eax, 0x100
push eax
mov ecx, dword [ebp - 0x18]
push ecx
push str.__s____s____d____d____d____d____d____d____d____d____d____d__r_n
lea edx, [ebp - 0x76c]
push edx
call fcn.00463edd
add esp, 0x38
lea eax, [ebp - 0x76c]
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x7f8]
inc ecx
mov dword [ebp - 0x7fc], ecx
mov edx, dword [ebp - 0x7f8]
mov al, byte [edx]
mov byte [ebp - 0x7fd], al
inc dword [ebp - 0x7f8]
cmp byte [ebp - 0x7fd], 0
jne 0x4195e0
mov ecx, dword [ebp - 0x7f8]
sub ecx, dword [ebp - 0x7fc]
mov dword [ebp - 0x804], ecx
push 0
lea edx, [ebp - 0x360]
push edx
mov eax, dword [ebp - 0x804]
push eax
lea ecx, [ebp - 0x76c]
push ecx
mov edx, dword [ebp - 0x358]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x41946b
cmp dword [ebp + 0x18], 0
je 0x41964b
mov eax, dword [ebp - 0x35c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x358]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x250]
call fcn.00420300
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x36c]
call fcn.00420300
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x1c]
call fcn.004635af
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14