Function at 0x421d19
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2464
call fcn.00450b00
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.00427180
and dword [esp + 0x20], 0
and dword [esp + 0x24], 0
push 2
pop eax
cmp ebx, eax
mov dword [esp + 0x28], 0x487438
mov dword [esp + 0x2c], edi
jbe 0x421d7f
mov ecx, edi
call fcn.00405338
call fcn.0040f0cf
cmp eax, 1
jne 0x421d7f
mov dword [esp + 0xc], connect
lea eax, [esp + 0x450]
push eax
lea eax, [esp + 0x1464]
push eax
lea eax, [esp + 0xc60]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x5c]
push eax
push ecx
xor eax, eax
mov ecx, edi
call fcn.00405338
mov esi, eax
call fcn.0040eff7
pop ecx
push eax
lea edi, [esp + 0x1c80]
call fcn.0042250c
test al, al
jne 0x421dd3
mov dword [0x487440], 2
jmp 0x42211d
mov edi, dword [esp + 0x4c]
push 3
pop esi
cmp edi, esi
je 0x421dee
cmp edi, 1
je 0x421dee
mov dword [0x487440], esi
jmp 0x42211d
push edi
mov ebx, 0x487448
mov eax, 0x487120
call fcn.00422606
test al, al
jne 0x421e1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x487444], eax
mov dword [0x487440], 4
jmp 0x42211d
cmp edi, esi
je 0x421fbd
cmp edi, 1
jne 0x421e36
cmp dword [0x487410], 2
je 0x421fbd
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.004271a7
test al, al
mov eax, dword [esp + 0x38]
jne 0x421e5e
mov eax, 0x427410
push ebx
push ebx
push edi
lea ecx, [esp + 0x45c]
push ecx
lea ecx, [esp + 0x1470]
push ecx
push dword [esp + 0x5c]
lea ecx, [esp + 0xc70]
push ecx
push dword [0x487448]
call eax
cmp eax, ebx
mov dword [esp + 0x20], eax
jne 0x421ec6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x487444], eax
mov dword [0x487440], 7
cmp dword [esp + 0x30], ebx
je 0x421eb4
push dword [esp + 0x30]
call esi
lea eax, [esp + 0x20]
call fcn.0042144a
cmp dword [esp + 0x10], ebx
jmp 0x422040
cmp byte [0x4873bd], bl
je 0x421ed5
or dword [esp + 0xc], 2
jmp 0x421eda
or dword [esp + 0xc], 1
push ebx
push dword [esp + 0x10]
lea ecx, [esp + 0x1c70]
push connect
push ecx
push eax
lea esi, [esp + 0x50]
call fcn.004271d6
call eax
cmp eax, ebx
mov dword [esp + 0x24], eax
jne 0x421f2c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esp + 0x3c], ebx
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x487444], eax
mov dword [0x487440], 8
je 0x421ea8
push dword [esp + 0x3c]
call esi
jmp 0x421ea8
push 0x469364
xor eax, eax
push ecx
mov ecx, dword [ebp + 8]
inc eax
call fcn.00405338
mov esi, eax
call fcn.0040eff7
pop ecx
push eax
call fcn.0044e5bc
mov ebx, eax
xor edi, edi
cmp ebx, edi
pop ecx
pop ecx
jne 0x421f9a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esp + 0x3c], edi
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x487444], eax
mov dword [0x487440], 9
je 0x421f7c
push dword [esp + 0x3c]
call esi
cmp dword [esp + 0x30], edi
je 0x421f88
push dword [esp + 0x30]
call esi
lea eax, [esp + 0x20]
call fcn.0042144a
cmp dword [esp + 0x10], edi
jmp 0x422040
cmp dword [esp + 0x3c], edi
je 0x421faa
push dword [esp + 0x3c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [esp + 0x30], edi
je 0x422095
push dword [esp + 0x30]
jmp 0x42208f
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
xor esi, esi
cmp edi, esi
je 0x421fe2
push str.InternetOpenUrlW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, esi
mov ebx, eax
jne 0x421fe7
mov ebx, 0x427415
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x10]
xor eax, eax
push esi
push esi
call fcn.00405338
mov esi, eax
call fcn.0040eff7
push eax
push dword [0x487448]
call ebx
test eax, eax
mov dword [esp + 0x24], eax
jne 0x422051
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x487440], 5
test edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x487444], eax
je 0x422032
push edi
call esi
lea eax, [esp + 0x20]
call fcn.0042144a
cmp dword [esp + 0x10], 0
je 0x422137
push dword [esp + 0x10]
call esi
jmp 0x422137
push 0x469364
xor eax, eax
push ecx
mov ecx, dword [ebp + 8]
inc eax
call fcn.00405338
mov esi, eax
call fcn.0040eff7
pop ecx
push eax
call fcn.0044e5bc
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x42208a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x487440], 6
jmp 0x422020
test edi, edi
je 0x422095
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 0x4220b3
push dword [esp + 0x24]
call fcn.00422140
cmp eax, 0xc8
jne 0x42210c
lea esi, [esp + 0x10]
call fcn.00427180
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4220c9
mov eax, 0x40d03a
lea ecx, [esp + 0x1c]
push ecx
push 0x400
lea ecx, [esp + 0x58]
push ecx
push dword [esp + 0x30]
call eax
test eax, eax
je 0x42210c
cmp dword [esp + 0x1c], 0
je 0x422116
push ebx
push edi
push dword [esp + 0x24]
lea eax, [esp + 0x5c]
push eax
call fcn.0044e8a5
mov eax, dword [esp + 0x2c]
add dword [0x48743c], eax
add esp, 0x10
test eax, eax
jne 0x42209c
jmp 0x422116
mov dword [0x487440], 0xa
push ebx
call fcn.0044e999
pop ecx
lea eax, [esp + 0x20]
call fcn.0042144a
cmp dword [esp + 0x10], 0
je 0x422137
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4