Function at 0x50c870
Capabilities:
Convert ip address from string

Disassembly:
sub esp, 0x50
mov eax, dword [0x6d6ec0]
xor eax, esp
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x54]
push ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 4], 0
push ebp
mov ebp, dword [esp + 0x64]
test ebx, ebx
je 0x50caaf
test ebp, ebp
jne 0x50c8a7
mov eax, dword [ebx]
test eax, eax
cmovne ebp, eax
test byte [ebx + 0x14], 4
jne 0x50caaf
test ebp, ebp
je 0x50caaf
cmp byte [ebp], 0
je 0x50caaf
push esi
push edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
push ebp
push ecx
call fcn.0051eab0
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x50ca7e
push dword [esp + 0x14]
push str._Your_alt_svc_cache._https:__curl.se_docs_alt_svc.html_n_This_file_was_generated_by_libcurl__Edit_at_your_own_risk._n
call fcn.0063ca47
mov ebx, dword [ebx + 4]
add esp, 8
test ebx, ebx
je 0x50ca46
nop
mov esi, dword [ebx]
mov eax, dword [esp + 0x14]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x28]
push eax
push dword [esi + 0x1c]
push dword [esi + 0x18]
call fcn.0051e300
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x50caa1
lea eax, [esp + 0x4c]
push eax
push dword [esi + 0xc]
push 0x17
call dword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
mov ecx, 0x6a68c8
mov edi, 0x6a5e52
mov eax, 0x6a68cc
cmove edi, ecx
mov ecx, 0x6a5e52
cmove ecx, eax
lea eax, [esp + 0x4c]
push eax
push dword [esi]
mov dword [esp + 0x20], ecx
push 0x17
call dword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
mov ecx, 0x6a5e52
mov edx, 0x6a68c8
mov eax, 0x6a68cc
cmove ecx, edx
mov dword [esp + 0x1c], ecx
mov ecx, 0x6a5e52
cmove ecx, eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x20], ecx
cmp eax, 8
je 0x50c9b5
cmp eax, 0x10
je 0x50c9ae
cmp eax, 0x20
mov edx, 0x6a5e52
mov eax, 0x67c548
cmove edx, eax
jmp 0x50c9ba
mov edx, 0x67c544
jmp 0x50c9ba
mov edx, 0x67c540
mov eax, dword [esi + 8]
cmp eax, 8
je 0x50c9e0
cmp eax, 0x10
je 0x50c9d9
cmp eax, 0x20
mov ecx, 0x6a5e52
mov eax, 0x67c548
cmove ecx, eax
jmp 0x50c9e5
mov ecx, 0x67c544
jmp 0x50c9e5
mov ecx, 0x67c540
push dword [esi + 0x24]
movzx eax, byte [esi + 0x20]
push eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x44]
push dword [esp + 0x38]
inc eax
push dword [esp + 0x40]
push dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x58]
add eax, 0x76c
push eax
movzx eax, word [esi + 0x10]
push eax
movzx eax, word [esi + 4]
push edi
push dword [esi + 0xc]
push dword [esp + 0x44]
push edx
push eax
push dword [esp + 0x54]
push dword [esi]
push dword [esp + 0x60]
push ecx
push str._s__s_s_s__u__s__s_s_s__u___d_02d_02d__02d:_02d:_02d___u__u_n
push dword [esp + 0x70]
call fcn.0050dc30
add esp, 0x50
xor edi, edi
test ebx, ebx
jne 0x50c900
push dword [esp + 0x14]
call fcn.00631d79
mov eax, dword [esp + 0x14]
add esp, 4
test eax, eax
je 0x50ca82
push ebp
push eax
call fcn.0051e9d0
add esp, 8
test eax, eax
je 0x50ca7e
mov edi, 0x17
mov eax, dword [esp + 0x10]
test eax, eax
je 0x50ca82
push eax
call fcn.0064513e
add esp, 4
mov eax, dword [esp + 0x10]
push eax
call dword [0x6d4804]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.0061f478
add esp, 0x50
ret
push dword [esp + 0x14]
call fcn.00631d79
add esp, 4
jmp 0x50ca6d
mov ecx, dword [esp + 0x54]
xor eax, eax
pop ebp
pop ebx
xor ecx, esp
call fcn.0061f478
add esp, 0x50
ret