Function at 0x470e70
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5950fc
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x62d12c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.initialize
push str.ENTER:__s
push 0x14
push str.ModemController
push 0x258
mov edi, ecx
push str.modemcontroller.cpp
mov ecx, 0x632598
mov dword [ebp - method.CDMLogFunction.virtual_0], vtable.CDMLogFunction.0
mov dword [ebp - 0x160], 0x14
mov dword [ebp - 0x15c], str.initialize
mov dword [ebp - 0x158], str.ModemController
mov dword [ebp - 0x154], str.modemcontroller.cpp
mov byte [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0x258
call fcn.004deb10
push eax
call fcn.004e2af0
add esp, 0x14
lea esi, [edi + 0x78]
push esi
push 0x5beff4
push 0x17
xor ebx, ebx
push ebx
push 0x5be448
mov dword [ebp - 4], ebx
mov dword [0x632b04], edi
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jge 0x470f4d
push str.Error_initializing_bbdevmgr
push 1
push str.ModemController
push 0x25f
jmp 0x471249
mov esi, dword [esi]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x3c]
push ecx
push 0x6186cc
push esi
call edx
mov eax, dword [edi + 0x34]
cmp eax, ebx
jne 0x47100e
mov edi, 0xf
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 0xac], bl
lea eax, [ebp - 0xac]
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004ea110
mov eax, dword [ebp - 0xac]
mov esi, 0x10
add esp, 8
cmp dword [ebp - 0x98], esi
jae 0x470fb5
lea eax, [ebp - 0xac]
push eax
push str.Error_initializing_modem_dll._Error:__s
push 1
push str.ModemController
push 0x269
push str.modemcontroller.cpp
mov ecx, 0x632598
call fcn.004deb10
push eax
call fcn.004e2af0
add esp, 0x14
cmp dword [ebp - 0x98], esi
jb 0x470ff6
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.00558723
add esp, 4
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 0xac], 0
jmp 0x471261
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.RIM_VSPLibInitialize_RDM
push eax
call esi
mov dword [0x632af0], eax
mov edx, dword [edi + 0x34]
push str.RIM_VSPLibUninitialize_RDM
push edx
call esi
mov dword [0x632af4], eax
mov eax, dword [edi + 0x34]
push str.RIM_VSPLibQueryComPorts
push eax
call esi
mov dword [0x632b00], eax
mov ecx, dword [edi + 0x34]
push str.RIM_VSPLibConnect_RDM
push ecx
call esi
mov dword [0x632af8], eax
mov edx, dword [edi + 0x34]
push str.RIM_VSPLibDisconnect_RDM
push edx
call esi
mov dword [0x632afc], eax
cmp dword [0x632b00], ebx
je 0x471238
mov ecx, dword [0x632af0]
cmp ecx, ebx
je 0x471238
cmp dword [0x632af8], ebx
je 0x471238
cmp eax, ebx
je 0x471238
cmp dword [0x632af4], ebx
je 0x471238
lea eax, [edi + 4]
push eax
call ecx
add esp, 4
test eax, eax
je 0x4710be
push str.Error_initializing_virtual_modem
push 1
push str.ModemController
push 0x27f
jmp 0x471249
push 0x7f
lea eax, [ebp - 0x8f]
push ebx
push eax
mov dword [ebp - 0x168], 0xffffffff
mov byte [ebp - 0x90], bl
call fcn.0055aed0
lea ecx, [ebp - 0x90]
push 0x80
push ecx
call dword [0x632b00]
add esp, 0x14
test al, al
je 0x471219
lea esi, [ebp - 0x90]
cmp byte [ebp - 0x90], bl
je 0x471219
lea esp, [esp]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x471115
sub eax, edx
cmp eax, 3
jbe 0x471219
push esi
lea ecx, [ebp - 0xac]
call fcn.00422280
push 3
push ebx
lea edx, [ebp - 0xac]
push edx
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 2
mov dword [ebp - 0xb4], 0xf
mov dword [ebp - 0xb8], ebx
mov byte [ebp - 0xc8], 0
call fcn.00421c90
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 4
call fcn.00421b10
cmp dword [ebp - 0xb4], 0x10
mov eax, dword [ebp - 0xc8]
jae 0x471187
lea eax, [ebp - 0xc8]
push 0x5c2568
push eax
call fcn.00559e6a
add esp, 8
test eax, eax
jne 0x471201
push 0xa
lea eax, [ebp - 0x16c]
push eax
add esi, 3
push esi
mov dword [ebp - 0x16c], ebx
call fcn.0055b82f
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x170], ebx
test ebx, ebx
je 0x4711e1
push 0
lea ecx, [ebp - 0x170]
push ecx
lea ecx, [edi + 0x60]
call fcn.0046fb70
push eax
lea edx, [ebp - 0x178]
push edx
lea ecx, [edi + 0x60]
call fcn.0046fa90
mov esi, dword [ebp - 0x16c]
cmp byte [esi], 0x3b
jne 0x4711ed
inc esi
test ebx, ebx
je 0x4711ff
cmp ebx, dword [ebp - 0x168]
jae 0x4711ff
mov dword [ebp - 0x168], ebx
xor ebx, ebx
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0
call fcn.00421b10
cmp byte [esi], 0
jne 0x471110
mov eax, dword [ebp - 0x168]
lea ecx, [ebp - 0x164]
mov dword [edi + 0x40], eax
mov dword [ebp - 4], 0xffffffff
call fcn.004372a0
mov al, 1
jmp 0x471275
push str.Error_initializing_modem_dll._Error:_Funtions_not_found
push 1
push str.ModemController
push 0x279
push str.modemcontroller.cpp
mov ecx, 0x632598
call fcn.004deb10
push eax
call fcn.004e2af0
add esp, 0x10
lea ecx, [ebp - 0x164]
mov dword [ebp - 4], 0xffffffff
call fcn.004372a0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00558b78
mov esp, ebp
pop ebp
ret