Function at 0x422b28
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2464
call fcn.00453310
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.00427f65
and dword [esp + 0x20], 0
and dword [esp + 0x24], 0
push 2
pop eax
cmp ebx, eax
mov dword [esp + 0x28], 0x48ae1c
mov dword [esp + 0x2c], edi
jbe 0x422b8e
mov ecx, edi
call fcn.00405a0e
call fcn.0040fce4
cmp eax, 1
jne 0x422b8e
mov dword [esp + 0xc], bind
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.00405a0e
mov esi, eax
call fcn.0040fc0c
pop ecx
push eax
lea edi, [esp + 0x1c80]
call fcn.0042331b
test al, al
jne 0x422be2
mov dword [0x48ae24], 2
jmp 0x422f2c
mov edi, dword [esp + 0x4c]
push 3
pop esi
cmp edi, esi
je 0x422bfd
cmp edi, 1
je 0x422bfd
mov dword [0x48ae24], esi
jmp 0x422f2c
push edi
mov ebx, 0x48ae2c
mov eax, 0x48ab00
call fcn.00423415
test al, al
jne 0x422c2b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x48ae28], eax
mov dword [0x48ae24], 4
jmp 0x422f2c
cmp edi, esi
je 0x422dcc
cmp edi, 1
jne 0x422c45
cmp dword [0x48adf4], 2
je 0x422dcc
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.00427f8c
test al, al
mov eax, dword [esp + 0x38]
jne 0x422c6d
mov eax, 0x428284
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 [0x48ae2c]
call eax
cmp eax, ebx
mov dword [esp + 0x20], eax
jne 0x422cd5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x48ae28], eax
mov dword [0x48ae24], 7
cmp dword [esp + 0x30], ebx
je 0x422cc3
push dword [esp + 0x30]
call esi
lea eax, [esp + 0x20]
call fcn.00422259
cmp dword [esp + 0x10], ebx
jmp 0x422e4f
cmp byte [0x48ada1], bl
je 0x422ce4
or dword [esp + 0xc], 2
jmp 0x422ce9
or dword [esp + 0xc], 1
push ebx
push dword [esp + 0x10]
lea ecx, [esp + 0x1c70]
push bind
push ecx
push eax
lea esi, [esp + 0x50]
call fcn.00427fbb
call eax
cmp eax, ebx
mov dword [esp + 0x24], eax
jne 0x422d3b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esp + 0x3c], ebx
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x48ae28], eax
mov dword [0x48ae24], 8
je 0x422cb7
push dword [esp + 0x3c]
call esi
jmp 0x422cb7
push 0x46c4e0
xor eax, eax
push ecx
mov ecx, dword [ebp + 8]
inc eax
call fcn.00405a0e
mov esi, eax
call fcn.0040fc0c
pop ecx
push eax
call fcn.00451309
mov ebx, eax
xor edi, edi
cmp ebx, edi
pop ecx
pop ecx
jne 0x422da9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esp + 0x3c], edi
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x48ae28], eax
mov dword [0x48ae24], 9
je 0x422d8b
push dword [esp + 0x3c]
call esi
cmp dword [esp + 0x30], edi
je 0x422d97
push dword [esp + 0x30]
call esi
lea eax, [esp + 0x20]
call fcn.00422259
cmp dword [esp + 0x10], edi
jmp 0x422e4f
cmp dword [esp + 0x3c], edi
je 0x422db9
push dword [esp + 0x3c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [esp + 0x30], edi
je 0x422ea4
push dword [esp + 0x30]
jmp 0x422e9e
push str.Wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
xor esi, esi
cmp edi, esi
je 0x422df1
push str.InternetOpenUrlW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, esi
mov ebx, eax
jne 0x422df6
mov ebx, 0x42828e
mov ecx, dword [ebp + 8]
push esi
push dword [esp + 0x10]
xor eax, eax
push esi
push esi
call fcn.00405a0e
mov esi, eax
call fcn.0040fc0c
push eax
push dword [0x48ae2c]
call ebx
test eax, eax
mov dword [esp + 0x24], eax
jne 0x422e60
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x48ae24], 5
test edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x48ae28], eax
je 0x422e41
push edi
call esi
lea eax, [esp + 0x20]
call fcn.00422259
cmp dword [esp + 0x10], 0
je 0x422f46
push dword [esp + 0x10]
call esi
jmp 0x422f46
push 0x46c4e0
xor eax, eax
push ecx
mov ecx, dword [ebp + 8]
inc eax
call fcn.00405a0e
mov esi, eax
call fcn.0040fc0c
pop ecx
push eax
call fcn.00451309
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x422e99
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x48ae24], 6
jmp 0x422e2f
test edi, edi
je 0x422ea4
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 0x422ec2
push dword [esp + 0x24]
call fcn.00422f4f
cmp eax, 0xc8
jne 0x422f1b
lea esi, [esp + 0x10]
call fcn.00427f65
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x422ed8
mov eax, 0x428293
lea ecx, [esp + 0x1c]
push ecx
push 0x400
lea ecx, [esp + 0x58]
push ecx
push dword [esp + 0x30]
call eax
test eax, eax
je 0x422f1b
cmp dword [esp + 0x1c], 0
je 0x422f25
push ebx
push edi
push dword [esp + 0x24]
lea eax, [esp + 0x5c]
push eax
call fcn.004515f2
mov eax, dword [esp + 0x2c]
add dword [0x48ae20], eax
add esp, 0x10
test eax, eax
jne 0x422eab
jmp 0x422f25
mov dword [0x48ae24], 0xa
push ebx
call fcn.004516e6
pop ecx
lea eax, [esp + 0x20]
call fcn.00422259
cmp dword [esp + 0x10], 0
je 0x422f46
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4