Function at 0x426a80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51618d
mov eax, dword fs:[0]
push eax
mov eax, 0x4074
call fcn.004cb9c0
mov eax, dword [0x56e754]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
cmp byte [ebx], 0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x4060], eax
mov byte [ebp - 0x4059], 0
jne 0x426adf
mov edx, dword [ebx + 0x2c]
call fcn.0042ef30
mov al, byte [ebp - 0x4059]
jmp 0x426bfb
push 0
push 0
push 2
push 0
push 3
push 2
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x4068], eax
cmp eax, 0xffffffff
jne 0x426b67
lea ecx, [ebp - 0x4040]
call fcn.00424730
mov esi, eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4058]
mov edx, dword [ebp - 0x4060]
call fcn.0043a450
mov byte [ebp - 4], 1
cmp dword [esi + 0x14], 8
jb 0x426b2e
mov esi, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x426b36
mov eax, dword [eax]
push esi
mov edx, eax
mov ecx, str.DownloadFile_create_file_error__outputFilename:__s__lastError:__s_
call fcn.0042de50
add esp, 4
lea ecx, [ebp - 0x4058]
call fcn.0041b400
lea ecx, [ebp - 0x4040]
call fcn.0041b400
mov al, byte [ebp - 0x4059]
jmp 0x426bfb
push ecx
lea edx, [ebp - 0x4010]
mov ecx, ebx
call fcn.004268d0
mov esi, eax
add esp, 4
test esi, esi
je 0x426be2
nop
cmp esi, 0xffffffff
je 0x426cee
push 0
lea eax, [ebp - 0x4064]
mov dword [ebp - 0x4064], 0
push eax
push esi
lea eax, [ebp - 0x4010]
push eax
push dword [ebp - 0x4068]
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [ebp - 0x4064], esi
jne 0x426c19
test edi, edi
je 0x426bcb
mov eax, dword [edi]
lea ecx, [ebp - 0x4010]
push esi
push ecx
mov ecx, edi
call dword [eax + 4]
push ecx
lea edx, [ebp - 0x4010]
mov ecx, ebx
call fcn.004268d0
mov esi, eax
add esp, 4
test esi, esi
jne 0x426b80
test edi, edi
je 0x426bed
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
push dword [ebp - 0x4068]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ca771
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebp - 0x4058]
call fcn.00424730
mov edi, eax
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x4040]
mov ebx, dword [ebp - 0x4060]
mov edx, ebx
call fcn.0043a450
mov byte [ebp - 4], 4
cmp dword [edi + 0x14], 8
jb 0x426c4c
mov edi, dword [edi]
cmp dword [eax + 0x14], 8
jb 0x426c54
mov eax, dword [eax]
mov dword [ebp - 0x406c], eax
lea ecx, [ebp - 0x407c]
mov eax, dword [ebp - 0x4064]
mov edx, 0x574a40
mov dword [ebp - 0x4060], edi
mov dword [ebp - 0x4070], eax
mov dword [ebp - 0x4074], esi
call fcn.004397a0
lea ecx, [ebp - 0x4060]
mov byte [ebp - 4], 5
push ecx
lea ecx, [ebp - 0x406c]
push ecx
lea ecx, [ebp - 0x4070]
push ecx
lea ecx, [ebp - 0x4074]
push ecx
mov ecx, dword [eax]
sub esp, 8
call fcn.00431ce0
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x4078]
test esi, esi
je 0x426cdb
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x426cdb
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x426cdb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x4040]
call fcn.0041b400
lea ecx, [ebp - 0x4058]
jmp 0x426d22
mov ebx, dword [ebp - 0x4060]
lea ecx, [ebp - 0x4040]
mov edx, ebx
call fcn.0043a450
mov dword [ebp - 4], 2
cmp dword [eax + 0x14], 8
jb 0x426d10
mov eax, dword [eax]
mov edx, eax
mov ecx, str.DownloadFile_reader_error__outputFilename:__s_
call fcn.0042e1a0
lea ecx, [ebp - 0x4040]
mov dword [ebp - 4], 0xffffffff
call fcn.0041b400
push dword [ebp - 0x4068]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, ebx
mov dword [ebp - 0x4018], 0
xor eax, eax
mov dword [ebp - 0x4014], 7
mov word [ebp - 0x4028], ax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426d60
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x4028]
call fcn.0041b490
lea ecx, [ebp - 0x4028]
mov dword [ebp - 4], 7
call fcn.00423de0
lea ecx, [ebp - 0x4028]
call fcn.0041b400
mov al, byte [ebp - 0x4059]
jmp 0x426bfb