Function at 0x110cef97
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x11279148]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0xde68]
imul eax, eax, 0x10fc
push ebx
push esi
mov esi, dword [ecx + 4]
push edi
mov edi, dword [ecx + 8]
lea eax, [eax + edx - 0xfe8]
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x10c], 0
jmp 0x110ceea6
mov ecx, dword [ebp - 0x108]
cmp dword [ebp - 0x10c], 0
jne 0x110cef00
push 0
mov ebx, 0x2b
mov eax, esi
call fcn.110cd910
mov edi, eax
push 0
mov ebx, 0x2c
mov eax, esi
shl edi, 0x10
call fcn.110cd910
add esp, 8
add eax, edi
mov dword [ebp - 0x114], eax
je 0x110cf034
push 0
mov ebx, 0x2f
mov eax, esi
call fcn.110cd910
mov ecx, dword [ebp - 0x108]
add esp, 4
mov dword [ebp - 0x118], eax
jmp 0x110cef0d
cmp dword [esi + 0x340], 0
jne 0x110cf01e
mov edi, dword [esi + 0x340]
test edi, edi
jne 0x110cef2b
mov edx, dword [ecx]
mov eax, dword [esi + 0x18]
mov edx, dword [edx]
push eax
call edx
mov edi, eax
test edi, edi
je 0x110cf01e
cmp dword [ebp - 0x118], 0
jne 0x110cef63
and edi, 0xffffff
cmp edi, dword [ebp - 0x114]
je 0x110cf034
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push 1
push 0x18a7
push eax
call edx
add esp, 0xc
jmp 0x110cf003
mov eax, edi
shr eax, 0x10
push eax
mov ebx, 0x30
mov eax, esi
call fcn.110cd910
movzx ecx, di
push ecx
mov ebx, 0x31
mov eax, esi
call fcn.110cd910
add esp, 8
cmp eax, 4
ja case.default.0x110cef90
lea ecx, [ecx]
jmp dword [eax*4 + 0x110cf330]
test edi, 0xff000000
je 0x110cefd1
and edi, 0xffffff
mov edx, edi
shr edx, 0x10
push edx
mov ebx, 0x30
mov eax, esi
call fcn.110cd910
movzx eax, di
push eax
mov ebx, 0x31
mov eax, esi
call fcn.110cd910
add esp, 8
cmp eax, 4
jbe switch.0x110cef90
jmp case.default.0x110cef90
xor ecx, ecx
cmp dword [esi + 0x114], 1
push 0x18a7
sete cl
push 0
push ecx
push esi
call fcn.110cc070
mov eax, dword [ebp - 0x110]
mov edx, dword [eax]
push 1
push 0x18a7
push eax
mov eax, dword [edx + 4]
call eax
add esp, 0x1c
cmp eax, 2
je 0x110cf01e
mov eax, dword [ebp - 0x10c]
inc eax
mov dword [ebp - 0x10c], eax
cmp eax, 3
jl 0x110ceea0
pop edi
pop esi
mov eax, 0xfff0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
push 0
mov ebx, 0x20
mov eax, esi
call fcn.110cd910
add esp, 4
jmp 0x110cf2a3
push 0
mov ebx, 0x1f
mov eax, esi
call fcn.110cd910
mov edi, dword [ebp - 0x110]
push 0x10000000
push 0x18bf
push edi
call fcn.110ecb00
xor ecx, ecx
cmp dword [esi + 0x114], 1
push 0x18bf
sete cl
push 0
push ecx
push esi
call fcn.110cc070
mov ebx, dword [esi + 0x344]
add esp, 0x20
cmp dword [esi + 0x34c], 0
mov dword [ebp - 0x114], ebx
je 0x110cf10a
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0xc]
push 0
push 0x100
xor edx, edx
lea eax, [ebp - 0x104]
push eax
mov word [ebp - 0x104], dx
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push str.MSN
push str.Dialup
call edx
call sub.pcicapi.dll_CapiHangup
call sub.pcicapi.dll_CapiClose
push 0
push 0
call sub.pcicapi.dll_CapiOpen
lea eax, [ebp - 0x104]
push eax
push 1
call sub.pcicapi.dll_CapiListen
add esp, 0x10
jmp 0x110cf13a
test ebx, ebx
jne 0x110cf125
push 0x35ab
push str...ctl32Connect.cpp
push str.tapi
call fcn.11067750
add esp, 0xc
mov ecx, ebx
call fcn.1113e410
mov ecx, dword [esi + 0x348]
push ecx
mov ecx, ebx
call fcn.1113e270
mov ebx, dword [ebp - 0x11c]
mov edx, dword [ebx + 0x28]
call edx
push eax
push 0x10000000
push 0x18cb
push edi
call fcn.110ecb00
mov eax, dword [ebx + 0x28]
call eax
xor ecx, ecx
cmp dword [esi + 0x114], 1
push eax
sete cl
push 0x18cb
push 0
push ecx
push esi
call fcn.110cc070
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esp, 0x24
mov dword [ebp - 0x108], 0
mov edi, 0x1121bfd4
call ebx
mov dword [ebp - 0x10c], eax
call ebx
sub eax, dword [ebp - 0x10c]
cmp eax, 0x15f90
jae 0x110cf21a
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
push 0
push 0
call eax
mov dword [ebp - 0x108], eax
test eax, eax
push 0
mov eax, esi
jne 0x110cf270
mov ebx, 0x25
call fcn.110cd910
add esp, 4
cmp eax, 0xffffffff
je 0x110cf24f
movzx ecx, byte [edi]
and eax, 0x7f
cmp eax, ecx
je 0x110cf1e9
mov edi, 0x1121bfd0
movzx edx, byte [edi]
cmp eax, edx
jne 0x110cf1f1
inc edi
cmp byte [edi], 0
jne 0x110cf257
push 0
mov ebx, 0x20
mov eax, esi
call fcn.110cd910
add esp, 4
call fcn.110ce220
test eax, eax
jne 0x110cf27f
mov dword [ebp - 0x108], 1
cmp dword [esi + 0x34c], 0
je 0x110cf2d6
call sub.pcicapi.dll_CapiHangup
mov eax, dword [ebp - 0x108]
neg eax
sbb eax, eax
pop edi
and eax, 0xfffffff3
pop esi
add eax, 0xfffd
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x10c]
cmp eax, 0x15f90
jb 0x110cf1a5
jmp 0x110cf21a
mov ebx, 0x1f
call fcn.110cd910
add esp, 4
jmp 0x110cf21a
mov eax, dword [ebp - 0x110]
push 0x10000000
push 0x190b
push eax
call fcn.110ecb00
add esp, 0xc
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
cmp dword [esi + 0x114], 1
push 0x18ca
sete cl
push 0
push ecx
push esi
call fcn.110cc070
add esp, 0x10
pop edi
pop esi
mov eax, 0xfff9
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x114]
call fcn.1113e410
mov eax, dword [ebp - 0x108]
neg eax
sbb eax, eax
pop edi
and eax, 0xfffffff3
pop esi
add eax, 0xfffd
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfff8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 0xfffd
pop ebx
call fcn.111d9022
mov esp, ebp
pop ebp
ret