Function at 0x426480
Capabilities:
Write file on windows

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
test ebx, ebx
jne 0x4264bb
mov dword [esp + 8], 0x171
mov dword [esp + 4], str.net.c
mov dword [esp], str.url___NULL
call dword [0x494088]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, 5
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x4264e6
mov dword [esp], str.Could_not_allocate_signature_URL
call fcn.0043efa9
jmp 0x4266cb
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], str..sig
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
xor eax, eax
mov dword [esp], ebx
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x24]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x10], esi
mov dword [esp + 8], eax
mov dword [esp + 4], eax
call fcn.00423c4f
mov ebx, eax
test eax, eax
je 0x4266cb
lea eax, [ebp - 0x20]
xor edi, edi
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.00423c4f
mov edi, dword [ebp - 0x24]
cmp eax, 0x100
je 0x4265cb
mov dword [esp], str.FATAL:_Download_signature_is_invalid_
call fcn.0043efa9
mov dword [0x523a68], 0x193
mov dword [0x4e2900], 0xe003120d
mov dword [esp], esi
mov dword [esp + 4], 0x3f2
call dword [sym.imp.USER32.dll_GetDlgItem]
xor ecx, ecx
push edx
push edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], 0x410
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SendMessageW]
sub esp, 0x10
mov dword [esp], 4
call fcn.00442b87
jmp 0x4266cb
mov dword [esp + 0xc], 0x100
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.0042ab67
test eax, eax
je 0x426565
mov dword [esp], str.Download_signature_is_valid_
call fcn.0043efa9
mov eax, dword [ebp + 0xc]
mov ecx, pe_nt_image_headers32
mov edx, 0xc0000000
mov dword [0x523a68], 0xce
call fcn.00423419
mov dword [ebp - 0x2c], eax
inc eax
jne 0x426644
call fcn.0043f53d
mov ebx, eax
mov eax, dword [ebp + 0xc]
call fcn.004231d4
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.Unable_to_create_file__s:__s
call fcn.0043efa9
jmp 0x4266cb
xor eax, eax
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.DLL_WriteFile]
sub esp, 0x14
test eax, eax
jne 0x426691
call fcn.0043f53d
mov ebx, eax
mov eax, dword [ebp + 0xc]
call fcn.004231d4
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], str.Error_writing_file__s:__s
call fcn.0043efa9
jmp 0x4266b8
mov edi, dword [ebp - 0x1c]
cmp edi, ebx
je 0x4266bf
mov eax, dword [ebp + 0xc]
call fcn.004231d4
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], str.Error_writing_file__s:_Only__d__d_bytes_written
call fcn.0043efa9
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x4266d2
mov dword [0x523a68], 0xc8
jmp 0x4266d2
mov dword [ebp - 0x2c], 0xffffffff
test esi, esi
je 0x4266f7
xor edi, edi
mov dword [esp + 0xc], edi
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 0x8003
mov dword [esp + 8], eax
mov dword [esp], esi
call dword [sym.imp.USER32.dll_SendMessageW]
sub esp, 0x10
cmp dword [ebp + 0x14], 0
je 0x4267ef
cmp dword [0x523a68], 0xc8
je 0x4267ef
xor ebx, ebx
mov dword [esp + 0xc], 0xcaa
mov dword [esp + 8], ebx
mov dword [esp + 4], ebx
mov dword [esp], 1
call fcn.00422ac2
mov eax, dword [0x523b70]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push esi
mov ax, word [0x492a1c]
cmp dword [0x526cd4], 1
mov word [ebp - 0x32], ax
sbb ebx, ebx
mov dword [esp], 0xbe4
and ebx, 0xffe80000
add ebx, 0x180010
call fcn.0042291e
mov esi, eax
mov eax, dword [0x4e2900]
test eax, eax
jns 0x426784
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ff5e
jmp 0x426789
call fcn.0043f53d
mov edx, dword [0x526d5c]
mov dword [ebp - 0x38], edx
call fcn.0042334f
mov edi, eax
mov eax, esi
call fcn.0042334f
mov esi, eax
movzx eax, word [ebp - 0x32]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 0x10], eax
mov dword [esp + 4], edi
mov edx, dword [ebp - 0x38]
mov dword [esp], edx
call dword [sym.imp.USER32.dll_MessageBoxExW]
sub esp, 0x14
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebx, eax
test edi, edi
je 0x4267d9
mov dword [esp], edi
call sub.msvcrt.dll_free
test esi, esi
je 0x4267e5
mov dword [esp], esi
call sub.msvcrt.dll_free
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push edx
mov eax, dword [ebp - 0x2c]
dec eax
cmp eax, 0xfffffffd
ja 0x426805
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push eax
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x1c]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret