Function at 0x4112a0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x45c2e8
push 0x439ec0
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1af4
call fcn.00439e90
mov eax, dword [0x45f478]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0
lea eax, [ebp - 0x1abc]
push eax
call fcn.0040d3c0
mov byte [ebp - 0x15b8], 0
push 0xfff
push 0
lea eax, [ebp - 0x15b7]
push eax
call fcn.0043a6b0
lea eax, [ebp - 0x15b8]
push eax
call fcn.0040bc40
add esp, 0x14
test al, al
jne 0x411344
push 2
push 0
lea eax, [ebp - 0x15b8]
push eax
push 0
push str.paramon___fails
push 0
call fcn.0040ac20
add esp, 0x18
jmp 0x411c7f
push 1
push 0
push 0
push 0
push str.Parameters_area_turn_ON_succeeded.
push 0
call fcn.0040ac20
push 1
call fcn.0040ac00
add esp, 0x1c
test al, al
je 0x411590
mov byte [ebp - 0x2b0], 0
push 0xfe
push 0
lea eax, [ebp - 0x2af]
push eax
call fcn.0043a6b0
mov byte [ebp - 0x4b8], 0
push 0xfe
push 0
lea eax, [ebp - 0x4b7]
push eax
call fcn.0043a6b0
add esp, 0x18
call fcn.0040ba60
mov ebx, eax
movq xmm0, qword [str.operational_notifier]
movq qword [ebp - 0x50], xmm0
movq xmm0, qword [0x44cdb8]
movq qword [ebp - 0x48], xmm0
mov ecx, dword [0x44cdc0]
mov dword [ebp - 0x40], ecx
mov cl, byte [0x44cdc4]
mov byte [ebp - 0x3c], cl
cmp ebx, 2
jle 0x411449
lea eax, [ebp - 0x15b8]
push eax
push 0xff
lea eax, [ebp - 0x2b0]
push eax
push 3
call fcn.0040c0f0
add esp, 0x10
test al, al
jne 0x411424
push 2
push 2
lea eax, [ebp - 0x15b8]
push eax
lea eax, [ebp - 0x50]
push eax
push str.rqparam___fails
push 0
call fcn.0040ac20
push 0
call fcn.0040ba70
add esp, 0x1c
jmp 0x411c7f
cmp ebx, 4
jne 0x411449
lea eax, [ebp - 0x15b8]
push eax
push 0xff
lea eax, [ebp - 0x4b8]
push eax
push ebx
call fcn.0040c0f0
add esp, 0x10
test al, al
je 0x4113fa
lea eax, [ebp - 0x2b0]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call esi
neg eax
sbb edi, edi
lea eax, [ebp - 0x2b0]
and edi, eax
mov dword [ebp - 0x1ac4], edi
lea eax, [ebp - 0x4b8]
push eax
call esi
neg eax
sbb esi, esi
lea eax, [ebp - 0x4b8]
and esi, eax
mov dword [ebp - 0x1ac0], esi
cmp ebx, 3
jne 0x4114b3
push 0x20
lea eax, [ebp - 0x2b0]
push eax
call fcn.00439000
add esp, 8
test eax, eax
je 0x4114b3
xor edi, edi
mov dword [ebp - 0x1ac4], edi
lea esi, [ebp - 0x2b0]
mov dword [ebp - 0x1ac0], esi
movq xmm0, qword [str.Ready_for_install_service]
movq qword [ebp - 0x150], xmm0
movq xmm0, qword [0x44cde0]
movq qword [ebp - 0x148], xmm0
movq xmm0, qword [0x44cde8]
movq qword [ebp - 0x140], xmm0
mov ax, word [0x44cdf0]
mov word [ebp - 0x138], ax
mov al, byte [0x44cdf2]
mov byte [ebp - 0x136], al
push 0x65
push 0
lea eax, [ebp - 0x135]
push eax
call fcn.0043a6b0
add esp, 0xc
lea eax, [ebp - 0x150]
test edi, edi
je 0x41151b
push edi
jmp 0x411520
push str._named_as_installer_module_
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x150]
push eax
push 0
call fcn.0040ac20
lea eax, [ebp - 0x15b8]
push eax
push esi
push edi
call fcn.0040b200
add esp, 0x24
test al, al
jne 0x411568
push 2
push 2
lea eax, [ebp - 0x15b8]
push eax
lea eax, [ebp - 0x50]
push eax
push str.InstallService___fails
jmp 0x411577
push 1
push 2
push 0
lea eax, [ebp - 0x50]
push eax
push str.SERVICE_INSTALLED_SUCCESSFULLY.
push 0
call fcn.0040ac20
add esp, 0x18
push 0
call fcn.0040ba70
add esp, 4
jmp 0x411c7f
push 2
call fcn.0040ac00
add esp, 4
test al, al
je 0x411733
mov byte [ebp - 0x5b8], 0
push 0xfe
push 0
lea eax, [ebp - 0x5b7]
push eax
call fcn.0043a6b0
add esp, 0xc
call fcn.0040ba60
movq xmm0, qword [str.operational_notifier]
movq qword [ebp - 0x34], xmm0
movq xmm0, qword [0x44cdb8]
movq qword [ebp - 0x2c], xmm0
mov ecx, dword [0x44cdc0]
mov dword [ebp - 0x24], ecx
mov cl, byte [0x44cdc4]
mov byte [ebp - 0x20], cl
cmp eax, 2
jle 0x411640
lea eax, [ebp - 0x15b8]
push eax
push 0xff
lea eax, [ebp - 0x5b8]
push eax
push 3
call fcn.0040c0f0
add esp, 0x10
test al, al
jne 0x411640
push 2
push 2
lea eax, [ebp - 0x15b8]
push eax
lea eax, [ebp - 0x34]
push eax
push str.rqparam___fails
push 0
call fcn.0040ac20
push 0
call fcn.0040ba70
add esp, 0x1c
jmp 0x411c7f
lea eax, [ebp - 0x5b8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
neg eax
sbb esi, esi
lea eax, [ebp - 0x5b8]
and esi, eax
movq xmm0, qword [str.Ready_for_UNinstall_service]
movq qword [ebp - 0xd0], xmm0
movq xmm0, qword [0x44ce50]
movq qword [ebp - 0xc8], xmm0
movq xmm0, qword [0x44ce58]
movq qword [ebp - 0xc0], xmm0
mov eax, dword [0x44ce60]
mov dword [ebp - 0xb8], eax
mov al, byte [0x44ce64]
mov byte [ebp - 0xb4], al
push 0x63
push 0
lea eax, [ebp - 0xb3]
push eax
call fcn.0043a6b0
add esp, 0xc
lea eax, [ebp - 0xd0]
test esi, esi
je 0x4116bf
push esi
jmp 0x4116c4
push str._named_as_installer_module_
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
push 0
push 0
push 0
lea eax, [ebp - 0xd0]
push eax
push 0
call fcn.0040ac20
lea eax, [ebp - 0x15b8]
push eax
push esi
call fcn.0040b510
add esp, 0x20
test al, al
jne 0x41170b
push 2
push 2
lea eax, [ebp - 0x15b8]
push eax
lea eax, [ebp - 0x34]
push eax
push str.RemoveService___fails
jmp 0x41171a
push 1
push 2
push 0
lea eax, [ebp - 0x34]
push eax
push str.SERVICE_UNINSTALLED_SUCCESSFULLY.
push 0
call fcn.0040ac20
add esp, 0x18
push 0
call fcn.0040ba70
add esp, 4
jmp 0x411c7f
push 4
call fcn.0040ac00
add esp, 4
test al, al
je 0x411acd
mov dword [0x460c2c], esi
push str.MAINSTREAM
call fcn.0040c4b0
add esp, 4
test al, al
je 0x411c7f
push 4
call fcn.00435480
add esp, 4
push eax
push str.SMS_Intergation_2.0_
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [0x460ca0]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edi, eax
mov dword [ebp - 0x1ac8], edi
push 0x69
push dword [0x460c2c]
mov esi, dword [sym.imp.USER32.dll_LoadBitmapA]
call esi
mov dword [0x460c54], eax
push 0x6a
push dword [0x460c2c]
call esi
mov dword [0x460c58], eax
push 0x6b
push dword [0x460c2c]
call esi
mov dword [0x460c5c], eax
push 0x6c
push dword [0x460c2c]
call esi
mov dword [0x460c60], eax
push 0
push 0x460c64
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [0x460c6c]
lea ecx, [eax + eax*2]
add ecx, ecx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [0x460c74], ecx
mov ecx, dword [0x460c70]
lea ecx, [ecx + ecx*2]
add ecx, ecx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [0x460c78], eax
push 7
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call esi
mov ecx, dword [0x460c74]
sub ecx, eax
sub ecx, 0x27
mov dword [0x460c7c], ecx
push 7
call esi
mov ecx, dword [0x460c74]
sub ecx, eax
sub ecx, 0x14
mov dword [0x460c80], ecx
mov byte [ebp - 0x3b8], 0
push 0x104
push 0
lea eax, [ebp - 0x3b7]
push eax
call fcn.0043a6b0
push 0x105
lea eax, [ebp - 0x3b8]
push eax
push 0
call fcn.00404470
add esp, 0x18
mov ebx, dword [sym.imp.KERNEL32.dll_RaiseException]
test al, al
jne 0x411896
push 0
push 0
push 0
push 0x60000000
call ebx
mov dword [ebp - 0x1b0c], 0x30
mov dword [ebp - 0x1b08], 3
mov dword [ebp - 0x1b04], 0x410540
mov dword [ebp - 0x1b00], 0
mov dword [ebp - 0x1afc], 0
mov eax, dword [0x460c2c]
mov dword [ebp - 0x1af8], eax
push 0x68
push eax
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
call esi
mov dword [ebp - 0x1af4], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x1af0], eax
mov dword [ebp - 0x1aec], edi
mov dword [ebp - 0x1ae8], 0
lea eax, [ebp - 0x3b8]
mov dword [ebp - 0x1ae4], eax
push 0x68
push dword [0x460c2c]
call esi
mov dword [ebp - 0x1ae0], eax
lea eax, [ebp - 0x1b0c]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
lea eax, [ebp - 0x3b8]
push eax
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x411998
mov ecx, 0x17
mov esi, str.Already_working_copy_of_SMS_Client_on_the_SAME_environment_was_detected___uploading_disrupted_
lea edi, [ebp - 0x1b0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
push str._smsclient_soap__
lea eax, [ebp - 0x1b0]
push eax
call fcn.00410470
add esp, 8
push 0xe0000006
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x19bc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
push 0
push 0
push 0x60000001
call ebx
push 0
push dword [0x460c2c]
push 0
push 0
mov esi, dword [0x460c78]
push esi
mov edi, dword [0x460c74]
push edi
mov eax, dword [0x460c70]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
mov eax, dword [0x460c6c]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov eax, edi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
push 0x400000
push str.SMS_Intergation_2.0_
lea eax, [ebp - 0x3b8]
push eax
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x460c30], eax
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x460c30]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
push 0
push 0
push 0
lea eax, [ebp - 0x38]
push eax
call esi
test eax, eax
je 0x411a41
lea eax, [ebp - 0x38]
push eax
call edi
lea eax, [ebp - 0x38]
push eax
call ebx
jmp 0x411a23
push str.MAINSTREAM
call fcn.0040c3d0
add esp, 4
push dword [ebp - 0x1ac8]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
push 0
call esi
push dword [0x460c54]
call esi
push dword [0x460c58]
call esi
push dword [0x460c5c]
call esi
push dword [0x460c60]
call esi
lea eax, [ebp - 0x15b8]
push eax
call fcn.0040ba70
add esp, 4
test al, al
jne 0x411aa7
push 2
push 0
lea eax, [ebp - 0x15b8]
push eax
push 0
push str.paramoff___fails
jmp 0x411ab4
push 1
push 0
push 0
push 0
push str.Parameters_area_turn_OFF_succeeded.
push 0
call fcn.0040ac20
add esp, 0x18
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x30]
jmp 0x411c88
push 3
call fcn.0040ac00
add esp, 4
test al, al
je 0x411b93
mov dword [ebp - 0x1adc], 0x44a482
mov dword [ebp - 0x1ad8], 0x40b780
mov dword [ebp - 0x1ad4], 0
mov dword [ebp - 0x1ad0], 0
lea eax, [ebp - 0x1adc]
push eax
call dword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherA]
test eax, eax
jne 0x411b2c
push 2
push 1
push eax
push eax
push str.StartServiceCtrlDispatcher___fails
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
jmp 0x411b3b
push 1
push 1
push 0
push 0
push str.start_of_service_control_dispatcher_returned_success.
push 0
call fcn.0040ac20
add esp, 0x18
lea eax, [ebp - 0x15b8]
push eax
call fcn.0040ba70
add esp, 4
test al, al
jne 0x411b77
push 2
push 0
lea eax, [ebp - 0x15b8]
push eax
push 0
push str.paramoff___fails
push 0
call fcn.0040ac20
add esp, 0x18
jmp 0x411c7f
push 1
push 0
push 0
push 0
push str.Parameters_area_turn_OFF_succeeded.
push 0
call fcn.0040ac20
add esp, 0x18
jmp 0x411c7f
push 2
push 0
push 0
push 0
push str.Program_calling_mode_is_unknown.
push 0
call fcn.0040ac20
add esp, 0x18
jmp 0x411c7f
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00439a01
mov esp, ebp
pop ebp
ret 0x10