Function at 0x419d90
Capabilities:
Convert ip address from string

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd0
mov dword [esp + 0x28], edx
mov dword [esp], ecx
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xe4]
mov dword [ebx], 0
movaps xmm0, xmmword [0x446b80]
movups xmmword [esp + 0x64], xmm0
movups xmmword [esp + 0x74], xmm0
movups xmmword [esp + 0x84], xmm0
movups xmmword [esp + 0x94], xmm0
movups xmmword [esp + 0xa4], xmm0
test ebp, ebp
je 0x419e68
mov eax, dword [esp + 0xe8]
xor edi, edi
test eax, eax
je 0x41a005
push eax
call sub.msvcrt.dll_strlen
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp]
test byte [eax + 0x158], 0x20
jne 0x419e72
lea esi, [eax + 0x70]
jmp 0x419e2b
mov esi, dword [esi + 0x18]
test esi, esi
je 0x41a000
cmp dword [esi + 4], 3
jne 0x419e20
mov eax, dword [esi + 8]
movzx ecx, word [eax]
xor ecx, 0x455
movzx eax, byte [eax + 2]
xor eax, 3
or ax, cx
jne 0x419e20
lea ecx, [esi + 0xc]
mov edx, dword [esp + 0xe8]
push dword [esp + 8]
call fcn.0041aef0
add esp, 4
test eax, eax
jne 0x419e20
jmp 0x41a005
mov eax, 0xffffd800
jmp 0x41a0b6
lea edi, [eax + 0xf8]
xor ebx, ebx
mov esi, edi
xor ebp, ebp
mov eax, dword [esi]
and eax, 0x1f
cmp eax, 7
jne 0x419eee
nop dword [eax + eax]
mov esi, dword [esi + 0xc]
test esi, esi
je 0x419f07
mov eax, dword [esi]
and eax, 0x1f
cmp eax, 7
je 0x419e90
cmp eax, 6
je 0x419ed6
cmp eax, 2
jne 0x419ee0
mov ebp, 1
mov ecx, esi
mov edx, dword [esp + 0xe8]
push dword [esp + 8]
call fcn.0041aef0
add esp, 4
test eax, eax
je 0x419f87
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x419e7e
jmp 0x419eff
mov esi, dword [esi + 0xc]
mov ebx, 1
jmp 0x419ee3
mov esi, dword [esi + 0xc]
mov ebp, 1
test esi, esi
jne 0x419e7e
jmp 0x419f07
cmp eax, 2
je 0x419eb0
cmp eax, 6
jne 0x419ecd
mov ebx, 1
jmp 0x419ecd
test ebp, ebp
je 0x419f9d
mov dword [esp + 0x14], ebx
push 0x3a
mov ebp, dword [esp + 0xec]
push ebp
call sub.msvcrt.dll_strchr
add esp, 8
test eax, eax
mov eax, 2
mov ecx, 0x17
cmove ecx, eax
mov eax, 4
mov ebx, 0x10
cmove ebx, eax
lea esi, [esp + 0x34]
push esi
push ebp
push ecx
call dword [sym.imp.WS2_32.dll_inet_pton]
xor ebp, ebp
cmp eax, 1
cmove ebp, ebx
jne 0x419f99
mov ebx, edi
jmp 0x419f67
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x419f99
mov eax, dword [ebx]
and eax, 0x1f
cmp eax, 7
jne 0x419f60
cmp dword [ebx + 4], ebp
jne 0x419f60
push ebp
push esi
push dword [ebx + 8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x419f60
xor edi, edi
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xe4]
jmp 0x41a005
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x419ff2
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
jmp 0x419fc7
mov edi, dword [edi + 0xc]
test edi, edi
je 0x41a000
mov eax, dword [edi]
and eax, 0x1f
cmp eax, 6
jne 0x419fc0
mov eax, dword [esp + 8]
cmp dword [edi + 4], eax
jne 0x419fc0
push dword [esp + 8]
push esi
push dword [edi + 8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x419fc0
xor edi, edi
jmp 0x41a005
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xe4]
mov edi, 4
mov eax, dword [esp]
lea esi, [eax + 0xcc]
push esi
call fcn.0041b580
add esp, 4
test eax, eax
je 0x41a028
mov ecx, dword [ebp + 4]
dec al
movzx eax, al
bt ecx, eax
jb 0x41a02e
or edi, 0x8000
push esi
call fcn.0041b580
add esp, 4
cmp eax, 6
je 0x41a041
cmp eax, 1
jne 0x41a051
push esi
call fcn.0041b510
add esp, 4
cmp eax, dword [ebp + 0xc]
jb 0x41a087
jmp 0x41a08d
add eax, 0xfffffffe
cmp eax, 2
ja 0x41a087
movsd xmm0, qword [esi]
movsd qword [esp + 0x34], xmm0
lea eax, [esp + 0x34]
push eax
call fcn.0041b580
add esp, 4
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
je 0x41a087
mov ecx, dword [ebp + 8]
dec al
movzx eax, al
bt ecx, eax
jb 0x41a08d
or edi, 0x10000
mov dword [esp + 0x20], edi
push 0
call dword [sym.imp.msvcrt.dll_time]
add esp, 4
lea ecx, [esp + 0xb8]
push ecx
push eax
call fcn.0042b8b0
add esp, 8
test eax, eax
je 0x41a0c7
mov eax, 0xffffd000
mov dword [ebx], 0xffffffff
add esp, 0xd0
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x2c], 0
mov esi, dword [esp]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*8 + 0x64], esi
mov dword [esp + eax*8 + 0x68], 0
mov dword [esp + 4], eax
inc eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xb4], eax
lea eax, [esi + 0xa8]
lea edi, [esp + 0xb8]
push edi
push eax
call fcn.0042b850
add esp, 8
mov ebp, 0
test eax, eax
jns 0x41a133
mov eax, dword [esp + 4]
mov dword [esp + eax*8 + 0x68], 1
mov ebp, 1
mov dword [esp], esi
lea eax, [esi + 0x90]
push edi
push eax
call fcn.0042b850
add esp, 8
test eax, eax
jle 0x41a158
or ebp, 0x200
mov eax, dword [esp + 4]
mov dword [esp + eax*8 + 0x68], ebp
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x41a512
mov eax, dword [esp]
mov eax, dword [eax + 0x188]
test eax, eax
je 0x41a184
mov ecx, dword [edx]
dec al
movzx eax, al
bt ecx, eax
jb 0x41a192
or ebp, 0x4000
mov eax, dword [esp + 4]
mov dword [esp + eax*8 + 0x68], ebp
mov eax, dword [esp]
mov eax, dword [eax + 0x18c]
test eax, eax
je 0x41a1c0
mov ecx, dword [edx + 4]
dec al
movzx eax, al
bt ecx, eax
jae 0x41a1c0
mov eax, dword [esp + 4]
test eax, eax
jne 0x41a1e8
jmp 0x41a1d2
or ebp, 0x8000
mov eax, dword [esp + 4]
mov dword [esp + eax*8 + 0x68], ebp
test eax, eax
jne 0x41a1e8
mov eax, dword [esp]
lea ecx, [eax + 0x50]
lea edx, [eax + 0x70]
call fcn.0041afe0
test eax, eax
je 0x41a4b4
mov dword [esp + 0x24], ebp
mov ebx, dword [esp]
lea ebp, [ebx + 0x50]
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], 1
mov dword [esp + 8], 0
mov edi, dword [esp + 0x28]
test edi, edi
je 0x41a398
nop word [eax + eax]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
jmp 0x41a25e
mov eax, dword [esp + 0x14]
test eax, eax
cmove eax, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
cmove eax, ebx
mov dword [esp + 0x1c], eax
mov ebx, dword [esp]
nop dword [eax]
mov edi, dword [edi + 0x194]
test edi, edi
je 0x41a390
lea edx, [edi + 0x70]
mov ecx, ebp
call fcn.0041afe0
test eax, eax
jne 0x41a250
test byte [esp + 8], 1
jne 0x41a279
cmp dword [edi + 0x1c], 3
jl 0x41a2a0
cmp dword [edi + 0x15c], 0
je 0x41a250
test byte [edi + 0x158], 4
je 0x41a2a0
mov eax, dword [edi + 0x164]
mov ecx, 0x8005
and eax, ecx
cmp eax, 4
jne 0x41a250
nop dword [eax]
mov eax, dword [edi + 0x160]
test eax, eax
jle 0x41a2b0
cmp eax, dword [esp + 0x30]
jb 0x41a250
push dword [ebx + 0x188]
call fcn.004263e0
add esp, 4
mov esi, eax
push eax
call fcn.004266c0
add esp, 4
mov byte [esp + 0xf], al
lea eax, [esp + 0x34]
push eax
push dword [ebx + 0x14]
push dword [ebx + 0x18]
push esi
call fcn.00426670
add esp, 0x10
mov esi, 0xffffffff
test eax, eax
jne 0x41a33c
mov eax, ebx
lea ebx, [edi + 0xcc]
push dword [eax + 0x18c]
push ebx
call fcn.0041b1c0
add esp, 8
test eax, eax
je 0x41a33c
movzx eax, byte [esp + 0xf]
mov ecx, dword [esp]
push dword [ecx + 0x180]
push dword [ecx + 0x184]
push eax
lea eax, [esp + 0x40]
push eax
push dword [ecx + 0x188]
push ebx
push dword [ecx + 0x190]
push dword [ecx + 0x18c]
call fcn.0041b2c0
add esp, 0x20
mov esi, eax
xor ebx, ebx
test esi, esi
sete al
mov ecx, dword [esp + 8]
or cl, al
test cl, 1
je 0x41a24a
mov bl, al
lea eax, [edi + 0xa8]
lea esi, [esp + 0xb8]
push esi
push eax
call fcn.0042b850
add esp, 8
test eax, eax
js 0x41a232
lea eax, [edi + 0x90]
push esi
push eax
call fcn.0042b850
add esp, 8
test eax, eax
jg 0x41a232
jmp 0x41a3c1
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x41a3c8
test byte [esp + 8], 1
jne 0x41a4fc
mov edi, dword [ebx + 0x194]
mov al, 1
mov dword [esp + 8], eax
mov dword [esp + 0x18], 0
test edi, edi
jne 0x41a220
jmp 0x41a398
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp]
cmp dword [esp + 4], 0
je 0x41a409
add ebx, 0x70
mov ecx, ebp
mov edx, ebx
call fcn.0041afe0
cmp eax, 1
adc dword [esp + 0x2c], 0
cmp dword [esp + 0x10], 9
setae al
test byte [esp + 8], al
mov ebx, dword [esp + 0xec]
jne 0x41a0b1
cmp dword [esp + 0x1c], 0
je 0x41a417
mov ebp, dword [esp + 0x24]
jmp 0x41a426
mov ebx, dword [esp + 0xec]
cmp dword [esp + 0x1c], 0
jne 0x41a403
mov ebp, dword [esp + 0x24]
or ebp, 8
mov eax, dword [esp + 4]
mov dword [esp + eax*8 + 0x68], ebp
lea esi, [edi + 0xcc]
push esi
call fcn.0041b580
add esp, 4
cmp eax, 6
je 0x41a43f
cmp eax, 1
jne 0x41a45c
push esi
call fcn.0041b510
add esp, 4
mov esi, edi
mov ecx, dword [esp + 0xe4]
cmp eax, dword [ecx + 0xc]
jae 0x41a0e2
jmp 0x41a49f
add eax, 0xfffffffe
cmp eax, 2
ja 0x41a49f
movsd xmm0, qword [esi]
movsd qword [esp + 0x34], xmm0
lea eax, [esp + 0x34]
push eax
call fcn.0041b580
add esp, 4
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
je 0x41a49f
mov ecx, dword [esp + 0xe4]
mov ecx, dword [ecx + 8]
dec al
movzx eax, al
bt ecx, eax
mov esi, edi
jb 0x41a0e2
or ebp, 0x10000
mov eax, dword [esp + 4]
mov dword [esp + eax*8 + 0x68], ebp
mov esi, edi
jmp 0x41a0e2
cmp dword [esp + 0x28], 0
je 0x41a1e8
mov eax, dword [esp]
mov esi, dword [eax + 8]
mov edi, dword [esp + 0x28]
jmp 0x41a4de
mov edi, dword [edi + 0x194]
test edi, edi
je 0x41a1e8
cmp esi, dword [edi + 8]
jne 0x41a4d0
push esi
push dword [edi + 0xc]
mov eax, dword [esp + 8]
push dword [eax + 0xc]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x41a4d0
jmp 0x41a512
mov ecx, dword [esp + 0x24]
or ecx, 8
mov eax, dword [esp + 4]
mov dword [esp + eax*8 + 0x68], ecx
mov ebx, dword [esp + 0xec]
mov eax, dword [esp + 0x20]
or dword [esp + 0x68], eax
cmp dword [esp + 0x10], 0
je 0x41a56f
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0xf0]
mov ebp, dword [esp + 4]
jmp 0x41a549
or ecx, dword [ebx]
mov dword [ebx], ecx
add ebp, 0xffffffff
jae 0x41a571
mov ecx, dword [esp + ebp*8 + 0x68]
mov dword [esp + 0x34], ecx
test edi, edi
je 0x41a540
lea eax, [esp + 0x34]
push eax
push ebp
push dword [esp + ebp*8 + 0x6c]
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x41a580
mov ecx, dword [esp + 0x34]
jmp 0x41a540
mov ecx, dword [ebx]
test ecx, ecx
mov eax, 0xffffd900
cmove eax, ecx
jmp 0x41a0bc
mov ecx, eax
cmp eax, 0xffffd900
mov eax, 0xffffd000
cmovne eax, ecx
jmp 0x41a0b6