Function at 0x10068660
Capabilities:
Convert ip address from string

Disassembly:
sub esp, 0x114
mov eax, dword [0x100ce350]
xor eax, esp
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x120]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x128]
push edi
mov edi, dword [esp + 0x128]
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], eax
mov byte [eax], 0
test edi, edi
je 0x100688da
mov bl, byte [edi]
test bl, bl
je 0x100688da
test esi, esi
je 0x100688da
cmp byte [esi], 0
je 0x100688da
xor eax, eax
mov ecx, esi
mov dword [esp + 0x14], eax
mov eax, 0x100aedc4
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100686e8
test dl, dl
je 0x100686e4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100686e8
add eax, 2
add ecx, 2
test dl, dl
jne 0x100686c8
xor eax, eax
jmp 0x100686ed
sbb eax, eax
or eax, 1
test eax, eax
je 0x100688f5
cmp bl, 0x5b
jne 0x1006874d
push 0x5d
push edi
call fcn.1007e970
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x100688da
inc edi
sub ebp, edi
cmp ebp, 0x80
jae 0x100688da
push ebp
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.1007e3f0
lea ebx, [esp + 0xac]
mov byte [esp + ebp + 0xac], 0
add esp, 0xc
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 2
jmp 0x1006877f
mov ebp, edi
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x10068752
lea eax, [esp + 0x1c]
sub ebp, ecx
push eax
push edi
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x10068775
mov dword [esp + 0x14], eax
jmp 0x1006877d
cmp byte [edi + ebp - 1], 0x2e
jne 0x1006877d
dec ebp
mov ebx, edi
mov al, byte [esi]
test al, al
je 0x100688da
nop dword [eax]
xor edi, edi
test al, al
je 0x100687ae
mov cl, al
cmp cl, 0x20
je 0x100687a4
mov al, cl
cmp cl, 9
jne 0x100687ae
mov al, byte [esi + 1]
inc esi
mov cl, al
test al, al
jne 0x10068798
mov edx, esi
test al, al
je 0x100688a2
cmp al, 0x20
je 0x100687cd
cmp al, 9
je 0x100687cd
cmp al, 0x2c
je 0x100687cd
mov al, byte [esi + 1]
inc esi
inc edi
test al, al
jne 0x100687b8
test edi, edi
je 0x100688a2
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1006884b
xor ebx, ebx
cmp edi, 0x80
jae 0x100688a2
push edi
push edx
lea eax, [esp + 0x28]
push eax
call fcn.1007e3f0
lea eax, [esp + 0x2c]
mov byte [esp + edi + 0x2c], bl
push 0x2f
push eax
call fcn.1007e970
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10068821
lea ecx, [edi + 1]
push ecx
call fcn.1008d037
add esp, 4
mov byte [edi], 0
mov ebx, eax
cmp dword [esp + 0x14], 2
lea eax, [esp + 0x20]
push ebx
push eax
jne 0x1006883d
mov ebx, dword [esp + 0x18]
push ebx
call fcn.100689a0
add esp, 0xc
jmp 0x1006889e
push dword [esp + 0x18]
call fcn.10068900
add esp, 0xc
jmp 0x1006889e
cmp byte [edx + edi - 1], 0x2e
lea eax, [edi - 1]
cmovne eax, edi
mov ecx, eax
test eax, eax
je 0x10068865
cmp byte [edx], 0x2e
jne 0x10068865
inc edx
lea ecx, [eax - 1]
cmp ecx, ebp
jne 0x1006887b
push ebp
push ebx
push edx
call fcn.10042210
add esp, 0xc
test eax, eax
setne al
jmp 0x1006889e
jae 0x100688a2
mov eax, ebx
sub eax, ecx
add eax, ebp
cmp byte [eax - 1], 0x2e
jne 0x1006889c
push ecx
push eax
push edx
call fcn.10042210
add esp, 0xc
test eax, eax
je 0x1006889c
mov al, 1
jmp 0x1006889e
xor al, al
test al, al
jne 0x100688f5
mov al, byte [esi]
cmp al, 0x20
je 0x100688ac
cmp al, 9
jne 0x100688af
inc esi
jmp 0x100688a2
test al, al
je 0x100688c2
cmp al, 0x2c
je 0x100688c6
mov eax, dword [esp + 0x18]
mov byte [eax], 1
mov al, byte [esi]
jmp 0x100688ce
cmp al, 0x2c
jne 0x100688ce
mov al, byte [esi + 1]
inc esi
cmp al, 0x2c
je 0x100688c6
mov ebx, dword [esp + 0x10]
test al, al
jne 0x10068790
xor al, al
mov ecx, dword [esp + 0x120]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1007c2ab
add esp, 0x114
ret
mov al, 1
jmp 0x100688dc