Function at 0x100a8c80
Capabilities:
Convert ip address from string

Disassembly:
sub esp, 0x13c
mov eax, dword [0x10133400]
xor eax, esp
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x148]
push ebx
push ebp
mov ebp, dword [esp + 0x148]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], eax
mov byte [eax], 0
push esi
mov esi, dword [esp + 0x150]
push edi
test ebp, ebp
je 0x100a9071
mov bl, byte [ebp]
test bl, bl
je 0x100a9071
test esi, esi
je 0x100a9071
cmp byte [esi], 0
je 0x100a9071
mov dword [esp + 0x14], 0
mov ecx, esi
mov eax, 0x1010518c
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100a8d10
test dl, dl
je 0x100a8d0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100a8d10
add eax, 2
add ecx, 2
test dl, dl
jne 0x100a8cf0
xor eax, eax
jmp 0x100a8d15
sbb eax, eax
or eax, 1
test eax, eax
je 0x100a906d
cmp bl, 0x5b
jne 0x100a8d79
push 0x5d
push ebp
call fcn.100c2c60
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100a9071
inc ebp
sub ebx, ebp
mov dword [esp + 0x1c], ebx
cmp ebx, 0x80
jae 0x100a9071
push ebx
lea eax, [esp + 0xcc]
push ebp
push eax
call fcn.100c2ee0
lea ebp, [esp + 0xd4]
mov byte [esp + ebx + 0xd4], 0
add esp, 0xc
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], 2
jmp 0x100a8db2
mov ebx, ebp
lea ecx, [ebx + 1]
nop
mov al, byte [ebx]
inc ebx
test al, al
jne 0x100a8d80
lea eax, [esp + 0x10]
sub ebx, ecx
push eax
push ebp
push 2
mov dword [esp + 0x28], ebx
call dword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x100a8da6
mov dword [esp + 0x14], eax
jmp 0x100a8db2
cmp byte [ebx + ebp - 1], 0x2e
jne 0x100a8db2
dec ebx
mov dword [esp + 0x1c], ebx
cmp byte [esi], 0
je 0x100a9071
mov al, byte [esi]
xor edi, edi
mov cl, al
cmp cl, 0x20
je 0x100a8dca
cmp al, 9
jne 0x100a8dd4
mov al, byte [esi + 1]
inc esi
mov cl, al
test al, al
jne 0x100a8dc1
mov cl, byte [esi]
mov edx, esi
test cl, cl
je 0x100a9030
mov al, cl
cmp cl, 0x20
je 0x100a8dfa
cmp al, 9
je 0x100a8dfa
cmp al, 0x2c
je 0x100a8dfa
mov al, byte [esi + 1]
inc esi
inc edi
mov cl, al
test al, al
jne 0x100a8de2
test edi, edi
je 0x100a9030
mov eax, dword [esp + 0x14]
sub eax, 0
je 0x100a8fdb
sub eax, 1
je 0x100a8e1d
sub eax, 1
jne 0x100a9030
xor ebx, ebx
cmp edi, 0x80
jae 0x100a9030
push edi
push edx
lea eax, [esp + 0x50]
push eax
call fcn.100c2ee0
lea eax, [esp + 0x54]
mov byte [esp + edi + 0x54], bl
push 0x2f
push eax
call fcn.100c2c60
mov edi, eax
add esp, 0x14
test edi, edi
je 0x100a8e61
lea ecx, [edi + 1]
push ecx
call fcn.100d87f5
add esp, 4
mov byte [edi], 0
mov ebx, eax
cmp dword [esp + 0x14], 2
jne 0x100a8f53
mov edi, dword [sym.imp.WS2_32.dll_inet_pton]
test ebx, ebx
mov eax, 0x80
cmove ebx, eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x24]
mov ebp, ebx
and ebx, 7
push 0x17
shr ebp, 3
call edi
cmp eax, 1
jne 0x100a9025
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x4c]
push eax
push 0x17
call edi
cmp eax, 1
jne 0x100a9025
cmp ebp, 0x10
ja 0x100a9025
jne 0x100a8ec4
test ebx, ebx
jne 0x100a9025
test ebp, ebp
je 0x100a8f2a
mov edi, ebp
lea ecx, [esp + 0x38]
lea edx, [esp + 0x28]
sub edi, 4
jb 0x100a8ee8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100a8eed
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100a8ed7
cmp edi, 0xfffffffc
je 0x100a8f2a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100a9025
cmp edi, 0xfffffffd
je 0x100a8f2a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100a9025
cmp edi, 0xfffffffe
je 0x100a8f2a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100a9025
cmp edi, 0xffffffff
je 0x100a8f2a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100a9025
test ebx, ebx
je 0x100a9021
movzx eax, byte [esp + ebp + 0x38]
mov ecx, 8
movzx edx, byte [esp + ebp + 0x28]
sub ecx, ebx
xor edx, eax
mov eax, 0xff
shl eax, cl
test eax, edx
jmp 0x100a901f
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
cmp ebx, 0x20
ja 0x100a9025
lea eax, [esp + 0x18]
push eax
push ebp
mov ebp, dword [sym.imp.WS2_32.dll_inet_pton]
push 2
call ebp
cmp eax, 1
jne 0x100a9025
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x4c]
push eax
push 2
call ebp
cmp eax, 1
jne 0x100a9025
test ebx, ebx
je 0x100a8fce
cmp ebx, 0x20
je 0x100a8fce
push dword [esp + 0x18]
mov ebp, dword [sym.imp.WS2_32.dll_htonl]
call ebp
push dword [esp + 0x10]
mov edi, eax
call ebp
mov ecx, 0x20
or edx, 0xffffffff
sub ecx, ebx
xor eax, edi
shl edx, cl
test edx, eax
sete al
jmp 0x100a9027
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
sete al
jmp 0x100a9027
cmp byte [edx + edi - 1], 0x2e
jne 0x100a8fe7
sub edi, 1
je 0x100a8fee
cmp byte [edx], 0x2e
jne 0x100a8fee
inc edx
dec edi
cmp edi, ebx
jne 0x100a9004
push ebx
push ebp
push edx
call fcn.10083430
add esp, 0xc
test eax, eax
setne al
jmp 0x100a9027
jae 0x100a9030
mov eax, ebp
sub eax, edi
add eax, ebx
cmp byte [eax - 1], 0x2e
jne 0x100a9025
push edi
push eax
push edx
call fcn.10083430
add esp, 0xc
test eax, eax
je 0x100a9025
mov al, 1
jmp 0x100a9027
xor al, al
test al, al
jne 0x100a906d
nop dword [eax + eax]
mov al, byte [esi]
cmp al, 0x20
je 0x100a903a
cmp al, 9
jne 0x100a903d
inc esi
jmp 0x100a9030
test al, al
je 0x100a9050
cmp al, 0x2c
je 0x100a9054
mov eax, dword [esp + 0x24]
mov byte [eax], 1
mov al, byte [esi]
jmp 0x100a905c
cmp al, 0x2c
jne 0x100a905c
mov al, byte [esi + 1]
inc esi
cmp al, 0x2c
je 0x100a9054
test al, al
je 0x100a9071
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
jmp 0x100a8dbb
mov al, 1
jmp 0x100a9073
xor al, al
mov ecx, dword [esp + 0x148]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100c0c44
add esp, 0x13c
ret