Function at 0x100217a0
Capabilities:
Connect to http server
Send data
Send http request

Disassembly:
sub esp, 0x3c
mov ecx, dword [esp + 0x48]
push ebx
push ebp
xor ebp, ebp
xor eax, eax
cmp ecx, ebp
push esi
push edi
setne al
push ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], 0x10048924
mov dword [esp + 0x48], 0x10048938
mov dword [esp + 0x4c], 0x10048948
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], 0x8048c100
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [esp + 0x14], ebp
lea ebx, [esp + 0x40]
mov edx, dword [ebx]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov esi, dword [esp + 0x54]
not ecx
dec ecx
push ecx
push edx
push esi
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x1002182e
inc ebp
add ebx, 4
cmp ebp, 3
jb 0x10021803
cmp ebp, 3
mov dword [esp + 0x14], ebp
jne 0x10021841
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret
mov ebp, dword [esp + ebp*4 + 0x40]
or ecx, 0xffffffff
mov edi, ebp
xor eax, eax
repne scasb al, byte es:[edi]
mov ebx, dword [sym.imp.MSVCRT.dll_strchr]
push 0x2f
not ecx
dec ecx
mov dword [esp + 0x40], ebp
add ecx, esi
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x10021871
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, dword [esp + 0x3c]
mov ebp, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x2f
mov edi, ecx
or ecx, 0xffffffff
add edi, esi
push ebp
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x3c], ebp
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call ebx
mov byte [eax], 0
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x100218db
mov dword [esp + 0x18], 0x1bb
mov dword [esp + 0x28], 0x80c8e100
mov esi, dword [esp + 0x34]
push 0x40
push esi
call ebx
add esp, 8
test eax, eax
je 0x10021930
push 0x3a
push esi
call ebx
add esp, 8
test eax, eax
je 0x10021930
push 0x3a
push esi
call ebx
push 0x40
push esi
mov byte [eax], 0
mov dword [esp + 0x30], esi
call ebx
mov byte [eax], 0
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [ecx + esi + 1]
or ecx, 0xffffffff
mov edi, esi
mov dword [esp + 0x1c], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebp, [ecx + esi + 1]
push 0x3a
push ebp
call ebx
add esp, 8
test eax, eax
je 0x10021962
push 0x3a
push ebp
call ebx
mov byte [eax], 0
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ecx + ebp + 1]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
xor eax, eax
mov esi, dword [esp + 0x54]
push 0x2f
mov edi, dword [esp + ecx*4 + 0x44]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, esi
push ecx
call ebx
mov edi, dword [esp + 0x38]
add esp, 8
test edi, edi
mov ebx, eax
jne 0x1002199f
push ebp
lea edx, [esp + 0x28]
push esi
push edx
call fcn.10021220
add esp, 0xc
mov esi, eax
jmp 0x100219a4
mov esi, 1
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x10021b18
cmp eax, 1
jle 0x10021a31
cmp eax, 2
jne 0x10021b18
test edi, edi
jne 0x10021a02
test esi, esi
je 0x10021b37
mov eax, dword [0x100436bc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
push edi
neg eax
sbb eax, eax
and eax, 0x8000000
push eax
mov eax, dword [esp + 0x20]
push 1
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
push ebp
push ecx
call dword [sym.imp.WININET.dll_InternetConnectA]
mov edi, eax
test edi, edi
jne 0x10021a0e
jmp 0x10021b3b
test esi, esi
je 0x10021b37
mov edi, dword [esp + 0x58]
push 0
push reloc.WS2_32.dll_bind
push closesocket
push ebx
push edi
call dword [sym.imp.WININET.dll_FtpOpenFileA]
mov esi, eax
test esi, esi
jne 0x10021b24
jmp 0x10021b3f
test edi, edi
jne 0x10021a8e
test esi, esi
je 0x10021a60
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push edi
push edi
push 3
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
push ebp
push edx
call dword [sym.imp.WININET.dll_InternetConnectA]
test eax, eax
mov dword [esp + 0x58], eax
jne 0x10021a96
mov ebp, dword [esp + 0x10]
xor esi, esi
mov ebx, dword [sym.imp.WININET.dll_InternetErrorDlg]
test esi, esi
je 0x10021ac1
push 0
push 0
push 0
push 0
push ebp
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x10021ac1
mov edi, dword [esp + 0x2c]
mov esi, 1
jmp 0x10021adc
test esi, esi
je 0x10021a60
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
push 0
push ecx
push 0
push 0
push 0x10048950
push ebx
push 0
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x10], ebp
je 0x10021a64
mov esi, 1
jmp 0x10021a66
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push edi
call fcn.10021610
add esp, 4
test eax, eax
je 0x10021b37
mov ebp, dword [esp + 0x10]
mov edx, esi
mov eax, dword [esp + 0x50]
neg edx
sbb edx, edx
push 0
not edx
and edx, edi
push 7
push edx
push ebp
push eax
call ebx
test esi, esi
mov dword [esp + 0x2c], eax
je 0x10021b07
cmp eax, 0x2f00
jne 0x10021b18
jmp 0x10021a6c
xor ecx, ecx
cmp eax, 0x4c7
setne cl
mov esi, ecx
jmp 0x10021a6c
test esi, esi
je 0x10021b37
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x10]
push esi
call fcn.10021650
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
jne 0x10021b54
jmp 0x10021b3f
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10021b54
mov edx, dword [esp + 0x50]
push edx
call fcn.10021470
add esp, 4
mov ebp, dword [sym.imp.WININET.dll_InternetCloseHandle]
test esi, esi
je 0x10021b61
push esi
call ebp
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x10021b70
test edi, edi
je 0x10021b70
push edi
call ebp
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10021b7f
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x38]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret