Function at 0x40abe0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xebc
mov eax, dword [0x49c048]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [0x48546c]
mov byte [ebp - 0x630], al
push 0x3ff
push 0
lea ecx, [ebp - 0x62f]
push ecx
call fcn.0042cab0
add esp, 0xc
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
je 0x40ac90
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [ebp - 0xe9c], edx
mov eax, dword [ebp - 0xe9c]
movsx ecx, byte [eax]
cmp ecx, 0x2f
je 0x40ac4f
mov edx, dword [ebp - 0xe9c]
movsx eax, byte [edx]
cmp eax, 0x2d
jne 0x40ac8e
mov ecx, dword [ebp - 0xe9c]
add ecx, 1
mov dword [ebp - 0xe9c], ecx
mov edx, dword [ebp - 0xe9c]
mov al, byte [edx]
mov byte [ebp - 0xe95], al
movsx ecx, byte [ebp - 0xe95]
test ecx, ecx
je 0x40ac8e
lea edx, [ebp + 0xc]
push edx
lea eax, [ebp + 8]
push eax
movzx ecx, byte [ebp - 0xe95]
push ecx
call fcn.00405050
jmp 0x40ac4f
jmp 0x40ac14
push 0xa
push 0x49da04
push str.dbid
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x40acb8
push 0x4855ac
push 0x49da04
call fcn.00402300
add esp, 8
push 0x404ae0
push str.SMS_Vodafone
call dword [sym.imp.NSL.dll_err_handler_init]
add esp, 8
test eax, eax
je 0x40ace3
push str.Unable_to_initialize_the_error_handler
call fcn.0043c0b2
add esp, 4
push 1
call fcn.0043bf7a
push 0x330
push 0
lea edx, [ebp - 0xe90]
push edx
call fcn.0042cab0
add esp, 0xc
push str.SMS_Vodafone
call dword [sym.imp.NSL.dll_TraceInit]
add esp, 4
mov eax, dword [0x49da00]
push eax
call dword [sym.imp.NSL.dll_TraceSetLevel]
add esp, 4
mov ecx, dword [0x49c024]
push ecx
push str.SmsPro_started:_Connections:__d
push 0x93
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x18
push str.SMS_Vodafone
push 0x49da04
push str.SOFTWARENetwiseNice_sPrograms_sGeneral
lea edx, [ebp - 0xe0]
push edx
call fcn.004022d0
add esp, 0x10
push 0x48546c
push 0x51
lea eax, [ebp - 0x230]
push eax
push 0x485654
lea ecx, [ebp - 0xe0]
push ecx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
mov edx, 1
imul eax, edx, 0
movsx ecx, byte [ebp + eax - 0x230]
test ecx, ecx
jne 0x40adb0
push str.Get_parameter_IPC_from_registry____Exit_program.
push 0x9b
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x14
push str.Get_parameter_IPC_from_registry
push 1
mov edx, dword [ebp - 0xe94]
push edx
call dword [sym.imp.NSL.dll_err_handler]
add esp, 0xc
push str.SMS_Vodafone
push 0x49da04
push str.SOFTWARENetwiseNice_sPrograms_sConfig
lea eax, [ebp - 0xe0]
push eax
call fcn.004022d0
add esp, 0x10
push str.sms_pro.net
push 0xfa
lea ecx, [ebp - 0x1dc]
push ecx
push str.HttpAddress
lea edx, [ebp - 0xe0]
push edx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
mov eax, 1
imul ecx, eax, 0
movsx edx, byte [ebp + ecx - 0x1dc]
test edx, edx
jne 0x40ae58
push str.Registry_parameter_HttpAddress_missing___abort_
push 0xa5
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 1
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x14
push str.Registry_parameter_HttpAddress_missing_
push 1
mov eax, dword [ebp - 0xe94]
push eax
call dword [sym.imp.NSL.dll_err_handler]
add esp, 0xc
lea ecx, [ebp - 0x1dc]
push ecx
push str.https:___s
lea edx, [ebp - 0xcfa]
push edx
call fcn.0040b650
add esp, 0xc
lea eax, [ebp - 0xcfa]
push eax
push str.Registry_parameter_Http_Address____s_
push 0xaa
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x18
push 0x48546c
push 0x64
lea ecx, [ebp - 0xe8c]
push ecx
push str.Company
lea edx, [ebp - 0xe0]
push edx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
mov eax, 1
imul ecx, eax, 0
movsx edx, byte [ebp + ecx - 0xe8c]
cmp edx, 0x20
jne 0x40aee4
mov eax, 1
imul ecx, eax, 0
mov byte [ebp + ecx - 0xe8c], 0
mov edx, 1
imul eax, edx, 0
movsx ecx, byte [ebp + eax - 0xe8c]
test ecx, ecx
jne 0x40af2d
push str.Registry_parameter_Company_must_be_given__it_is_a_part_of_the_Http_address_____Exit_program
push 0xb3
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x14
push str.Registry_parameter_Company_must_be_given__It_is_a_part_of_the_Http_address_
push 1
mov edx, dword [ebp - 0xe94]
push edx
call dword [sym.imp.NSL.dll_err_handler]
add esp, 0xc
jmp 0x40af50
lea eax, [ebp - 0xe8c]
push eax
push str.Registry_parameter_Company___s_
push 0xb6
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x18
lea ecx, [ebp - 0xe8c]
push ecx
push str._services__s_sendmsg
push 0x49dae8
call fcn.004022d0
add esp, 0xc
push 0x49dae8
lea edx, [ebp - 0xcfa]
push edx
push str.Http_URL____s_s_
push 0xbb
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x1c
push 0x49dae8
lea eax, [ebp - 0xcfa]
push eax
push str.Test_Http_URL_String___s_s_
push 0xbc
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x1c
push 0x4858a0
push 0xfa
lea ecx, [ebp - 0x1dc]
push ecx
push str.CheckAddress
lea edx, [ebp - 0xe0]
push edx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
mov eax, 1
imul ecx, eax, 0
movsx edx, byte [ebp + ecx - 0x1dc]
cmp edx, 0x65
je 0x40b024
mov eax, 1
imul ecx, eax, 0
movsx edx, byte [ebp + ecx - 0x1dc]
cmp edx, 0x45
je 0x40b024
mov eax, 1
imul ecx, eax, 0
movsx edx, byte [ebp + ecx - 0x1dc]
cmp edx, 0x31
jne 0x40b030
mov dword [0x49da10], 1
jmp 0x40b03a
mov dword [0x49da10], 0
push 0x4858b4
push 0xfa
lea eax, [ebp - 0x1dc]
push eax
push str.MinAddressLength
lea ecx, [ebp - 0xe0]
push ecx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
lea edx, [ebp - 0x1dc]
push edx
call fcn.0043de5c
add esp, 4
mov dword [0x49c028], eax
push 0x48546c
push 0x64
lea eax, [ebp - 0xe28]
push eax
push str.CustomerId
lea ecx, [ebp - 0xe0]
push ecx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
mov edx, 1
imul eax, edx, 0
movsx ecx, byte [ebp + eax - 0xe28]
cmp ecx, 0x20
jne 0x40b0c8
mov edx, 1
imul eax, edx, 0
mov byte [ebp + eax - 0xe28], 0
push str.Note_that_Registry_parameter_CustomerId_is_case_sensitive__it_must_match_the_connect___login_info_recieved_from_Vodafone_
push 0xd2
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x14
lea ecx, [ebp - 0xe28]
push ecx
push str.Registry_parameter_CustomerId___s_
push 0xd3
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x18
push 0x48546c
push 0x64
lea edx, [ebp - 0xc31]
push edx
push str.Password
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
push 0x48546c
push 0x64
lea ecx, [ebp - 0xbcd]
push ecx
push str.Basic_Username:Password
lea edx, [ebp - 0xe0]
push edx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
push 0x48546c
push 0x64
lea eax, [ebp - 0xdc4]
push eax
push str.Department
lea ecx, [ebp - 0xe0]
push ecx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
push 0x48546c
push 0x64
lea edx, [ebp - 0xd60]
push edx
push str.Group
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
push 0x4859b0
push 2
lea ecx, [ebp - 0xcfc]
push ecx
push str.PremiumRate
lea edx, [ebp - 0xe0]
push edx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
lea eax, [ebp - 0xbcd]
push eax
call fcn.0043b830
add esp, 4
push eax
lea ecx, [ebp - 0xbcd]
push ecx
call fcn.00407ce0
add esp, 8
mov dword [ebp - 0xb68], eax
push 0x48546c
push 0xfa
lea edx, [ebp - 0x1dc]
push edx
push str.SepChar
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
mov ecx, 1
imul edx, ecx, 0
mov al, byte [ebp + edx - 0x1dc]
mov byte [ebp - 0xc32], al
push 0x48546c
push 0xfa
lea ecx, [ebp - 0x1dc]
push ecx
push str.SepCharPos
lea edx, [ebp - 0xe0]
push edx
call dword [sym.imp.NSL.dll_GetRegStr]
add esp, 0x14
mov dword [ebp - 0xe94], eax
lea eax, [ebp - 0x1dc]
push eax
call fcn.0043de5c
add esp, 4
mov dword [ebp - 0xb64], eax
lea ecx, [ebp - 0x6f8]
push ecx
push 0x2d8
mov edx, dword [0x49c024]
push edx
lea eax, [ebp - 0x230]
push eax
push 0x49da18
push 0x80000000
call dword [sym.imp.NSL.dll_PipePoolInitialize]
add esp, 0x18
mov dword [ebp - 0xe94], eax
push 0x4859d4
push 1
mov ecx, dword [ebp - 0xe94]
push ecx
call dword [sym.imp.NSL.dll_err_handler]
add esp, 0xc
cmp dword [ebp - 0xe94], 0
jne 0x40b2ea
push str.PipePoolInitialize:_Done
push 0xf2
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x14
mov dword [0x49da1c], 1
mov edx, 1
test edx, edx
je 0x40b629
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x6f8]
push eax
mov ecx, dword [0x49c024]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 0xe94], eax
mov edx, dword [ebp - 0xe94]
mov dword [ebp - 0xea4], edx
cmp dword [ebp - 0xea4], 0
jl 0x40b5e8
mov eax, dword [ebp - 0xea4]
cmp eax, dword [0x49c024]
jge 0x40b5e8
lea ecx, [ebp - 0xeb8]
push ecx
lea edx, [ebp - 0xebc]
push edx
push 0x2d8
lea eax, [ebp - 0x9d0]
push eax
mov ecx, dword [ebp - 0xea4]
push ecx
mov edx, dword [0x49da18]
push edx
call dword [sym.imp.NSL.dll_PipePoolProcessEvent]
add esp, 0x18
mov dword [ebp - 0xe94], eax
cmp dword [ebp - 0xe94], 0
jne 0x40b3a6
push str.PipePoolProcessEvent:_Done
push 0x101
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x14
push 0x485a20
push 0
mov eax, dword [ebp - 0xe94]
push eax
call dword [sym.imp.NSL.dll_err_handler]
add esp, 0xc
cmp dword [ebp - 0xeb8], 0
je 0x40b5e6
lea ecx, [ebp - 0x8fa]
push ecx
lea edx, [ebp - 0x9b8]
push edx
lea eax, [ebp - 0x942]
push eax
lea ecx, [ebp - 0x9a7]
push ecx
mov edx, dword [ebp - 0x9c4]
push edx
movzx eax, byte [ebp - 0x9c7]
push eax
mov ecx, dword [ebp - 0x9cc]
push ecx
push str.IPC_rec___rec:_d_ackreq:_d_Channel:_d_Id:_s_AckPipe:_s_Sign:_s_Msg_truncated_:_.10s...
push 0x10c
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x30
mov dl, byte [ebp - 0x9cf]
mov byte [ebp - 0xea8], dl
cmp byte [ebp - 0xea8], 1
je 0x40b449
cmp byte [ebp - 0xea8], 2
je 0x40b449
cmp byte [ebp - 0xea8], 4
je 0x40b449
jmp 0x40b5e6
mov eax, 1
imul ecx, eax, 0
mov dword [ebp - 0xeac], ecx
cmp dword [ebp - 0xeac], 0x400
jae 0x40b465
jmp 0x40b46a
call fcn.0042ad68
mov edx, dword [ebp - 0xeac]
mov byte [ebp + edx - 0x630], 0
lea eax, [ebp - 0x630]
push eax
lea ecx, [ebp - 0xe90]
push ecx
lea edx, [ebp - 0xb60]
push edx
lea eax, [ebp - 0x9d0]
push eax
call fcn.004096b0
add esp, 0x10
test eax, eax
je 0x40b5e6
mov cl, byte [0x48546c]
mov byte [ebp - 0x18], cl
xor edx, edx
mov dword [ebp - 0x17], edx
mov dword [ebp - 0x13], edx
mov dword [ebp - 0xf], edx
mov dword [ebp - 0xb], edx
mov word [ebp - 7], dx
mov byte [ebp - 5], dl
mov eax, dword [ebp - 0x9cc]
push eax
push 0x485a90
lea ecx, [ebp - 0x18]
push ecx
call fcn.004022a0
add esp, 0xc
mov dword [ebp - 0xea0], 2
mov dword [ebp - 0xeb4], 0
lea edx, [ebp - 0xe90]
push edx
lea eax, [ebp - 0x630]
push eax
call fcn.004053f0
add esp, 8
test eax, eax
jne 0x40b512
mov dword [ebp - 0xea0], 1
mov ecx, dword [ebp - 0xea0]
push ecx
mov edx, dword [ebp - 0xeb4]
push edx
mov eax, dword [ebp - 0xe94]
push eax
push str._send_operation___d__result_code___d_result_type___d
push 0x124
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 6
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x20
cmp dword [ebp - 0xea0], 1
jne 0x40b558
mov dword [ebp - 0xeb0], str.SUCCESS
jmp 0x40b562
mov dword [ebp - 0xeb0], str.ERROR
lea ecx, [ebp - 0x8fa]
push ecx
lea edx, [ebp - 0x9b8]
push edx
lea eax, [ebp - 0x9a7]
push eax
mov ecx, dword [ebp - 0x9c4]
push ecx
mov edx, dword [ebp - 0xea0]
push edx
mov eax, dword [ebp - 0xeb0]
push eax
push str._s__d__Channel:_d_Id:_s_Sign:_s_Msg_Truncated_:_.10s...
push 0x12c
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x2c
mov ecx, 1
imul edx, ecx, 0
movsx eax, byte [ebp + edx - 0x942]
test eax, eax
je 0x40b5e6
mov ecx, dword [ebp - 0xeb4]
push ecx
mov edx, dword [ebp - 0xea0]
push edx
lea eax, [ebp - 0x942]
push eax
lea ecx, [ebp - 0xb60]
push ecx
call fcn.004051d0
add esp, 0x10
mov dword [ebp - 0xe94], eax
jmp 0x40b624
push 0x48546c
call dword [sym.imp.NSL.dll_Set_currentobject]
add esp, 4
push str.Error:_WaitForMultipleObjects___Programed_Stoped___
push 0x13b
push str.C:_trunk2CMGCMG_ServerSRCSMSProSmsPro.cpp
push 2
push 2
call dword [sym.imp.NSL.dll_TraceWriteFileLine]
add esp, 0x14
push 0x485b48
push 1
push 0xfffffffffffffffa
call dword [sym.imp.NSL.dll_err_handler]
add esp, 0xc
jmp 0x40b2f4
mov edx, dword [0x49da18]
push edx
call dword [sym.imp.NSL.dll_PipePoolCleanUp]
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042af58
mov esp, ebp
pop ebp
ret