Function at 0x5a4160
Capabilities:
Convert ip address from string

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
cmp dword [eax], 0x8e2658
mov ecx, dword [eax + 8]
mov dword [ebp - 8], ecx
mov ecx, dword [eax + 0xc]
jne 0x5a418e
mov eax, dword [ecx + 0x7c]
mov esi, dword [ecx + 0x78]
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x80]
jmp 0x5a419d
mov eax, dword [ecx + 0x34]
mov esi, dword [ecx + 0x30]
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x24c]
mov dword [ebp - 4], eax
test esi, esi
je 0x5a4379
mov edi, dword [ebp + 8]
mov ebx, dword [edi]
test ebx, ebx
je 0x5a41e2
mov ecx, ebx
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5a41d5
test dl, dl
je 0x5a41d1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5a41d5
add eax, 2
add ecx, 2
test dl, dl
jne 0x5a41b5
xor eax, eax
jmp 0x5a41da
sbb eax, eax
or eax, 1
test eax, eax
je 0x5a4379
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x5a41f3
push eax
call dword [0x8e260c]
add esp, 4
push dword [edi + 8]
call dword [0x8e260c]
push dword [edi]
call dword [0x8e260c]
push esi
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi], 0
mov byte [edi + 0xc], 0
call dword [0x8e2614]
mov edx, eax
add esp, 0xc
mov dword [edi], edx
test edx, edx
jne 0x5a4277
mov eax, dword [edi + 4]
test eax, eax
je 0x5a423f
push eax
call dword [0x8e260c]
add esp, 4
push dword [edi + 8]
call dword [0x8e260c]
push dword [edi]
call dword [0x8e260c]
add esp, 8
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, 0x1b
mov dword [edi], 0
mov byte [edi + 0xc], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x5a42cf
mov eax, ebx
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x5a42a0
test cl, cl
je 0x5a429c
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x5a42a0
add esi, 2
add eax, 2
test cl, cl
jne 0x5a4280
xor eax, eax
jmp 0x5a42a5
sbb eax, eax
or eax, 1
test eax, eax
je 0x5a42cf
push ebx
call dword [0x8e2614]
add esp, 4
mov dword [edi + 4], eax
test eax, eax
jne 0x5a42d2
push edi
call fcn.005a4110
add esp, 4
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 4], edx
mov esi, dword [edi]
mov dword [edi + 8], 0
test esi, esi
je 0x5a4308
cmp byte [esi], 0
je 0x5a4308
mov ebx, dword [sym.imp.WS2_32.dll_inet_pton]
lea eax, [ebp - 0x18]
push eax
push esi
push 2
call ebx
test eax, eax
jne 0x5a4304
lea eax, [ebp - 0x18]
push eax
push esi
push 0x17
call ebx
test eax, eax
je 0x5a4308
mov al, 1
jmp 0x5a430a
xor al, al
mov ecx, dword [edi]
mov byte [edi + 0xc], al
cmp byte [ecx], 0
je 0x5a4379
test al, al
jne 0x5a4379
mov esi, ecx
lea edx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x5a4320
sub esi, edx
je 0x5a4333
cmp byte [ecx + esi - 1], 0x2e
jne 0x5a4333
dec esi
cmp esi, 0xffff
jae 0x5a4379
lea eax, [esi + 1]
push eax
push 1
call dword [0x8e2618]
add esp, 8
mov dword [edi + 8], eax
test eax, eax
jne 0x5a4366
push edi
call fcn.005a4110
add esp, 4
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push dword [edi]
push eax
call fcn.005b1790
mov eax, dword [edi + 8]
add esp, 0xc
mov byte [esi + eax], 0
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
pop edi
pop esi
mov dword [ecx + 0x38], eax
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret