Function at 0x45f110
Capabilities:
Convert ip address from string

Disassembly:
sub esp, 0x114
mov eax, dword [0x13413f8]
xor eax, esp
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x120]
push ebx
push esi
mov esi, dword [esp + 0x124]
push edi
mov edi, dword [esp + 0x124]
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], eax
mov byte [eax], 0
test edi, edi
je 0x45f3a7
mov bl, byte [edi]
test bl, bl
je 0x45f3a7
push ebp
test esi, esi
je 0x45f3a3
cmp byte [esi], 0
je 0x45f3a3
xor eax, eax
mov ecx, esi
mov dword [esp + 0x14], eax
mov eax, 0x55661c
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45f198
test dl, dl
je 0x45f194
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45f198
add eax, 2
add ecx, 2
test dl, dl
jne 0x45f178
xor eax, eax
jmp 0x45f19d
sbb eax, eax
or eax, 1
test eax, eax
je 0x45f388
cmp bl, 0x5b
jne 0x45f1fe
push 0x5d
push edi
call fcn.004f33e0
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x45f3a3
inc edi
sub ebp, edi
cmp ebp, 0x80
jae 0x45f3a3
push ebp
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.004f3650
lea edx, [esp + 0xac]
mov byte [esp + ebp + 0xac], 0
mov ebx, 2
mov dword [esp + 0x1c], edx
add esp, 0xc
mov dword [esp + 0x14], ebx
jmp 0x45f234
mov ebp, edi
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x45f203
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 0x45f228
mov ebx, eax
mov dword [esp + 0x14], ebx
jmp 0x45f232
cmp byte [edi + ebp - 1], 0x2e
jne 0x45f230
dec ebp
xor ebx, ebx
mov edx, edi
cmp byte [esi], 0
je 0x45f3a3
nop dword [eax]
mov al, byte [esi]
xor edi, edi
test al, al
je 0x45f258
cmp al, 0x20
je 0x45f250
cmp al, 9
jne 0x45f258
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x45f248
mov al, byte [esi]
mov ecx, esi
test al, al
je 0x45f350
cmp al, 0x20
je 0x45f279
cmp al, 9
je 0x45f279
cmp al, 0x2c
je 0x45f279
mov al, byte [esi + 1]
inc esi
inc edi
test al, al
jne 0x45f264
test edi, edi
je 0x45f350
test ebx, ebx
je 0x45f2fa
lea eax, [ebx - 1]
cmp eax, 1
ja 0x45f350
xor ebx, ebx
cmp edi, 0x80
jae 0x45f350
push edi
push ecx
lea eax, [esp + 0x28]
push eax
call fcn.004f3650
lea eax, [esp + 0x2c]
mov byte [esp + edi + 0x2c], bl
push 0x2f
push eax
call fcn.004f33e0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x45f2d5
lea ecx, [edi + 1]
push ecx
call fcn.004ffd9f
add esp, 4
mov byte [edi], 0
mov ebx, eax
cmp dword [esp + 0x14], 2
lea eax, [esp + 0x20]
push ebx
push eax
push dword [esp + 0x18]
jne 0x45f2f0
call fcn.0045f480
add esp, 0xc
jmp 0x45f349
call fcn.0045f3d0
add esp, 0xc
jmp 0x45f349
cmp byte [ecx + edi - 1], 0x2e
jne 0x45f302
dec edi
test edi, edi
je 0x45f30d
cmp byte [ecx], 0x2e
jne 0x45f30d
inc ecx
dec edi
cmp edi, ebp
jne 0x45f31e
push ebp
push edx
push ecx
call fcn.00439f30
add esp, 0xc
jmp 0x45f344
jae 0x45f350
mov eax, edx
sub eax, edi
add eax, ebp
cmp byte [eax - 1], 0x2e
jne 0x45f342
push edi
push eax
push ecx
call fcn.00439f30
add esp, 0xc
test eax, eax
je 0x45f342
mov eax, 1
jmp 0x45f344
xor eax, eax
test eax, eax
setne al
test al, al
jne 0x45f388
nop dword [eax]
mov al, byte [esi]
cmp al, 0x20
je 0x45f35a
cmp al, 9
jne 0x45f35d
inc esi
jmp 0x45f350
mov al, byte [esi]
test al, al
je 0x45f376
cmp al, 0x2c
je 0x45f370
mov eax, dword [esp + 0x18]
mov byte [eax], 1
jmp 0x45f376
inc esi
cmp byte [esi], 0x2c
je 0x45f370
cmp byte [esi], 0
je 0x45f3a3
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
jmp 0x45f240
mov al, 1
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.00472272
add esp, 0x114
ret
xor al, al
jmp 0x45f38a
mov ecx, dword [esp + 0x11c]
xor al, al
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00472272
add esp, 0x114
ret