Function at 0x4227a1
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1464
call fcn.00453650
push ebx
push esi
xor eax, eax
push edi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 8]
lea esi, [esp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
call fcn.00427b31
and dword [esp + 0x20], 0
and dword [esp + 0x24], 0
push 2
pop eax
cmp ebx, eax
mov dword [esp + 0x28], 0x47e90c
mov dword [esp + 0x2c], edi
jbe 0x422807
mov ecx, edi
call fcn.004059cd
call fcn.0040f9b2
cmp eax, 1
jne 0x422807
mov dword [esp + 0xc], connect
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x45c]
push eax
lea eax, [esp + 0x868]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
push eax
push ecx
xor eax, eax
mov ecx, edi
call fcn.004059cd
mov esi, eax
call fcn.0040f8e0
pop ecx
push eax
lea edi, [esp + 0x1080]
call fcn.00422f94
test al, al
jne 0x422858
mov dword [0x47e914], 2
jmp 0x422ba5
mov edi, dword [esp + 0x48]
push 3
pop esi
cmp edi, esi
je 0x422873
cmp edi, 1
je 0x422873
mov dword [0x47e914], esi
jmp 0x422ba5
push edi
mov ebx, 0x47e91c
mov eax, 0x47e6f0
call fcn.0042308e
test al, al
jne 0x4228a1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x47e918], eax
mov dword [0x47e914], 4
jmp 0x422ba5
cmp edi, esi
je 0x422a3f
cmp edi, 1
jne 0x4228bb
cmp dword [0x47e8e4], 2
je 0x422a3f
xor ebx, ebx
lea esi, [esp + 0x30]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], ebx
call fcn.00427b58
test al, al
mov eax, dword [esp + 0x38]
jne 0x4228e3
mov eax, 0x427dc3
push ebx
push ebx
push edi
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x468]
push ecx
push dword [esp + 0x60]
lea ecx, [esp + 0x878]
push ecx
push dword [0x47e91c]
call eax
cmp eax, ebx
mov dword [esp + 0x20], eax
jne 0x422948
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x47e918], eax
mov dword [0x47e914], 7
cmp dword [esp + 0x30], ebx
je 0x422936
push dword [esp + 0x30]
call esi
lea eax, [esp + 0x20]
call fcn.00421ed6
cmp dword [esp + 0x10], ebx
jmp 0x422ac2
cmp byte [0x47e891], bl
je 0x422957
or dword [esp + 0xc], 2
jmp 0x42295c
or dword [esp + 0xc], 1
push ebx
push dword [esp + 0x10]
lea ecx, [esp + 0x1070]
push connect
push ecx
push eax
lea esi, [esp + 0x50]
call fcn.00427b87
call eax
cmp eax, ebx
mov dword [esp + 0x24], eax
jne 0x4229ae
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esp + 0x3c], ebx
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x47e918], eax
mov dword [0x47e914], 8
je 0x42292a
push dword [esp + 0x3c]
call esi
jmp 0x42292a
push 0x46ac24
xor eax, eax
push ecx
mov ecx, dword [ebp + 8]
inc eax
call fcn.004059cd
mov esi, eax
call fcn.0040f8e0
pop ecx
push eax
call fcn.00450e75
mov ebx, eax
xor edi, edi
cmp ebx, edi
pop ecx
pop ecx
jne 0x422a1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esp + 0x3c], edi
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x47e918], eax
mov dword [0x47e914], 9
je 0x4229fe
push dword [esp + 0x3c]
call esi
cmp dword [esp + 0x30], edi
je 0x422a0a
push dword [esp + 0x30]
call esi
lea eax, [esp + 0x20]
call fcn.00421ed6
cmp dword [esp + 0x10], edi
jmp 0x422ac2
cmp dword [esp + 0x3c], edi
je 0x422a2c
push dword [esp + 0x3c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [esp + 0x30], edi
je 0x422b17
push dword [esp + 0x30]
jmp 0x422b11
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
xor esi, esi
cmp edi, esi
je 0x422a64
push str.InternetOpenUrlA
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, esi
mov ebx, eax
jne 0x422a69
mov ebx, 0x427dc8
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x10]
xor eax, eax
push esi
push esi
call fcn.004059cd
mov esi, eax
call fcn.0040f8e0
push eax
push dword [0x47e91c]
call ebx
test eax, eax
mov dword [esp + 0x24], eax
jne 0x422ad3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x47e914], 5
test edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x47e918], eax
je 0x422ab4
push edi
call esi
lea eax, [esp + 0x20]
call fcn.00421ed6
cmp dword [esp + 0x10], 0
je 0x422bbf
push dword [esp + 0x10]
call esi
jmp 0x422bbf
push 0x46ac24
xor eax, eax
push ecx
mov ecx, dword [ebp + 8]
inc eax
call fcn.004059cd
mov esi, eax
call fcn.0040f8e0
pop ecx
push eax
call fcn.00450e75
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x422b0c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x47e914], 6
jmp 0x422aa2
test edi, edi
je 0x422b17
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor edi, edi
inc edi
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x20], 0
jne 0x422b35
push dword [esp + 0x24]
call fcn.00422bc8
cmp eax, 0xc8
jne 0x422b94
lea esi, [esp + 0x10]
call fcn.00427b31
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x422b4b
mov eax, 0x41f115
lea ecx, [esp + 0x1c]
push ecx
push 0x400
lea ecx, [esp + 0xc70]
push ecx
push dword [esp + 0x30]
call eax
test eax, eax
je 0x422b94
cmp dword [esp + 0x1c], 0
je 0x422b9e
push ebx
push edi
push dword [esp + 0x24]
lea eax, [esp + 0xc74]
push eax
call fcn.0045115e
mov eax, dword [esp + 0x2c]
add dword [0x47e910], eax
add esp, 0x10
test eax, eax
jne 0x422b1e
jmp 0x422b9e
mov dword [0x47e914], 0xa
push ebx
call fcn.00451252
pop ecx
lea eax, [esp + 0x20]
call fcn.00421ed6
cmp dword [esp + 0x10], 0
je 0x422bbf
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4