Function at 0x956e60
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x1fa8
call fcn.00a91950
mov eax, dword [0xb196ec]
xor eax, esp
mov dword [esp + 0x1fa4], eax
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x207
lea eax, [esp + 0x1ba5]
push ebx
push eax
mov edi, ecx
mov byte [esp + 0x1bac], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x207
lea ecx, [esp + 0x1dad]
push ebx
push ecx
mov byte [esp + 0x1db4], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x207
lea edx, [esp + 0x1385]
push ebx
push edx
mov byte [esp + 0x138c], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x207
lea eax, [esp + 0xf75]
push ebx
push eax
mov byte [esp + 0xf7c], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x207
lea ecx, [esp + 0x1795]
push ebx
push ecx
mov byte [esp + 0x179c], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x207
lea edx, [esp + 0x117d]
push ebx
push edx
mov byte [esp + 0x1184], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x207
lea eax, [esp + 0xd6d]
push ebx
push eax
mov byte [esp + 0xd74], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x207
lea ecx, [esp + 0x158d]
push ebx
push ecx
mov byte [esp + 0x1594], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x207
lea edx, [esp + 0x199d]
push ebx
push edx
mov byte [esp + 0x19a4], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x103
lea eax, [esp + 0x865]
push ebx
push eax
mov byte [esp + 0x86c], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x103
push ebx
lea ecx, [esp + 0x131]
mov byte [esp + 0x130], bl
push ecx
call fcn.00a7ffb0
add esp, 0xc
push 0x103
lea edx, [esp + 0x445]
push ebx
push edx
mov byte [esp + 0x44c], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x103
lea eax, [esp + 0x655]
push ebx
push eax
mov byte [esp + 0x65c], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x103
lea ecx, [esp + 0x235]
push ebx
push ecx
mov byte [esp + 0x23c], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x103
lea edx, [esp + 0x33d]
push ebx
push edx
mov byte [esp + 0x344], bl
call fcn.00a7ffb0
add esp, 0xc
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea ebx, [esp + 0x230]
mov dword [esp + 0x18], eax
call fcn.009541a0
cmp eax, 1
je 0x957061
mov ecx, ebx
call fcn.00954350
push 0x208
lea ebx, [esp + 0xd6c]
lea esi, [esp + 0x234]
call fcn.00957fa0
add esp, 4
mov eax, ebx
push eax
mov ecx, esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [esp + 0x230], 0
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
je 0x9570c5
mov eax, esi
lea ebx, [ebx]
inc eax
cmp byte [eax], 0
jne 0x9570a0
lea edx, [esp + 0x230]
sub eax, edx
je 0x9570c5
cmp byte [esp + eax + 0x22f], 0x5c
je 0x9570c5
push 0xaa1564
mov eax, edx
push eax
call ebp
cmp dword [0xbd85f4], 0
je 0x957102
cmp byte [esp + 0x230], 0
je 0x9570f5
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x230]
mov byte [esp + eax + 0x338], cl
inc eax
test cl, cl
jne 0x9570e0
jmp 0x957116
mov byte [esp + 0x338], 0
jmp 0x9571c8
lea esi, [esp + 0x338]
call fcn.00967df0
test eax, eax
je 0x9571c8
cmp byte [esp + 0x338], 0
je 0x9571c8
lea ecx, [esp + 0x338]
call fcn.00960910
lea ecx, [esp + 0x338]
push ecx
lea edx, [esp + 0x654]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x650]
call fcn.00960910
push str.mailscan.ini
lea eax, [esp + 0x654]
push eax
call ebp
push 1
push 0
xor edx, edx
lea ecx, [esp + 0x658]
call fcn.0095a0f0
add esp, 8
test eax, eax
je 0x957184
mov byte [esp + 0x650], 0
jmp 0x9571ab
push 0x208
lea ebx, [esp + 0xd6c]
lea esi, [esp + 0x33c]
call fcn.00957fa0
add esp, 4
mov ecx, ebx
push ecx
mov edx, esi
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [esp + 0x338], 0
je 0x9571c8
lea eax, [esp + 0x338]
lea ecx, [esp + 0x230]
call fcn.0094c330
cmp dword [esp + 0x1fbc], 0
je 0x9571e4
push 0
push edi
push str._CBD__BDC_s__CVD_s_
push 0
call fcn.0096a780
add esp, 0x10
lea ebx, [esp + 0x860]
call fcn.009541a0
test eax, eax
je 0x9572f5
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, ebx
push eax
lea ecx, [esp + 0x12c]
push ecx
call edi
xor ebx, ebx
cmp byte [esp + 0x128], bl
je 0x957244
lea eax, [esp + 0x128]
lea ecx, [ecx]
inc eax
cmp byte [eax], bl
jne 0x957220
lea edx, [esp + 0x128]
sub eax, edx
je 0x957244
cmp byte [esp + eax + 0x127], 0x5c
je 0x957244
push 0xaa1564
mov eax, edx
push eax
call ebp
push str.eupdate.ini
lea ecx, [esp + 0x12c]
push ecx
call ebp
push 1
push ebx
xor edx, edx
lea ecx, [esp + 0x130]
call fcn.0095a0f0
add esp, 8
test eax, eax
jne 0x957276
mov esi, 1
mov dword [esp + 0x10], esi
jmp 0x957278
mov esi, ebx
lea edx, [esp + 0x860]
push edx
lea eax, [esp + 0x444]
push eax
call edi
cmp byte [esp + 0x440], bl
je 0x9572c4
lea eax, [esp + 0x440]
lea ebx, [ebx]
inc eax
cmp byte [eax], bl
jne 0x9572a0
lea ecx, [esp + 0x440]
sub eax, ecx
je 0x9572c4
cmp byte [esp + eax + 0x43f], 0x5c
je 0x9572c4
push 0xaa1564
mov edx, ecx
push edx
call ebp
push str.iupdate.ini
lea eax, [esp + 0x444]
push eax
call ebp
push 1
push ebx
xor edx, edx
lea ecx, [esp + 0x448]
call fcn.0095a0f0
add esp, 8
test eax, eax
jne 0x9572f9
mov dword [esp + 0x14], 1
jmp 0x9572f9
xor ebx, ebx
mov esi, ebx
mov ebp, dword [esp + 0x1fbc]
cmp ebp, ebx
je 0x957320
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x12c]
push edx
push esi
push str._CBD__EUI_d__EI_s__IUI_d
push ebx
call fcn.0096a780
add esp, 0x14
cmp dword [0xb4c304], 0xffffffff
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
jne 0x9577e4
call fcn.0098b510
mov dword [0xb4c304], eax
cmp ebp, ebx
je 0x957350
push eax
push str._CBD__SMBCorp_d
push ebx
call fcn.0096a780
add esp, 0xc
cmp dword [0xb4c304], ebx
je 0x95770e
push 0x103
lea eax, [esp + 0x54d]
push ebx
push eax
mov byte [esp + 0x554], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x104
lea ecx, [esp + 0x54c]
push ecx
push 0xaa1543
mov edx, str.server
mov ecx, 0xaa154c
call fcn.00958d30
add esp, 0xc
cmp byte [esp + 0x548], 0x30
jne 0x957614
push 0x8000
mov dword [0xbfc4f4], 1
call fcn.00a7a155
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x957413
mov edx, dword [esp + 0x18]
push edx
mov ecx, esi
mov byte [esi], bl
call fcn.0097b4b0
cmp byte [esi], bl
je 0x95740a
push ebx
push 0xacfc94
push esi
call fcn.0095c8c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x95740a
cmp ebp, ebx
je 0x957400
push str._CBD__UpdatesFromInternet__TRUE___i_
push ebx
call fcn.0096a780
add esp, 8
mov dword [0xbfc4fc], 1
push esi
call fcn.00a78fec
add esp, 4
cmp dword [0xbfc4fc], ebx
jne 0x9575e1
push 0x103
lea eax, [esp + 0x25]
push ebx
push eax
mov byte [esp + 0x2c], bl
call fcn.00a7ffb0
add esp, 0xc
push 0x103
lea ecx, [esp + 0x75d]
push ebx
push ecx
mov byte [esp + 0x764], bl
call fcn.00a7ffb0
add esp, 0xc
lea esi, [esp + 0x758]
call fcn.00956c70
mov esi, eax
cmp ebp, ebx
je 0x95747c
lea edx, [esp + 0x758]
push edx
push esi
push str._CBD__FromCloud___u__CH___s_
push ebx
call fcn.0096a780
add esp, 0x10
cmp dword [0xbfc4fc], ebx
jne 0x9575e1
lea eax, [esp + 0x128]
push eax
push 0x104
lea ecx, [esp + 0x28]
push ecx
push 0xaa1ac4
push str.SecServer
push str.Config
call edi
cmp byte [esp + 0x20], 0x31
jne 0x95751a
cmp ebp, ebx
je 0x9574c4
push str._CBD__SecServer__1
push ebx
call fcn.0096a780
add esp, 8
lea edx, [esp + 0x128]
push edx
push 0x104
lea eax, [esp + 0x28]
push eax
push 0xaae0f8
push str.SecServerAVUpdateFromInternet
push str.Config
call edi
cmp byte [esp + 0x20], 0x31
jne 0x957500
cmp ebp, ebx
je 0x9575d7
push str._CBD__UpdatesFromInternet__TRUE__SecServerAVUpdateFromInternet_
jmp 0x9575ce
cmp esi, ebx
je 0x9575e1
cmp ebp, ebx
je 0x9575d7
push str._CBD__UpdatesFromInternet__TRUE__FromCloud_
jmp 0x9575ce
lea ecx, [esp + 0x128]
push ecx
push 0x104
lea edx, [esp + 0x28]
push edx
push 0xaa1543
push str.SecServerAVUpdateFromInternet
push str.Config
call edi
cmp byte [esp + 0x20], 0x32
jne 0x957553
cmp ebp, ebx
je 0x9575d7
push str._CBD__UpdatesFromInternet__TRUE__SecServerAVUpdateFromInternet2_
jmp 0x9575ce
cmp esi, ebx
je 0x9575e1
push 0x3ff
lea eax, [esp + 0x96d]
push ebx
push eax
mov byte [esp + 0x974], bl
call fcn.00a7ffb0
add esp, 0xc
lea ecx, [esp + 0x128]
push ecx
push 0x400
lea edx, [esp + 0x970]
push edx
push 0xaa1543
push str.httphost
push str.Config
call edi
cmp byte [esp + 0x968], bl
je 0x9575e1
push ebx
lea eax, [esp + 0x75c]
push eax
lea ecx, [esp + 0x970]
push ecx
call fcn.0095c8c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x9575e1
cmp ebp, ebx
je 0x9575d7
push str._CBD__UpdatesFromInternet__TRUE__FromCloudHost_
push ebx
call fcn.0096a780
add esp, 8
mov dword [0xbfc4fc], 1
cmp ebp, ebx
je 0x957805
mov edx, dword [0xbfc4fc]
mov eax, dword [0xbfc4f4]
push edx
push eax
push str._CBD__EI1_d__EI2_d
push ebx
call fcn.0096a780
mov ebp, dword [esp + 0x1fcc]
mov esi, dword [esp + 0x20]
add esp, 0x10
jmp 0x9577e4
cmp esi, ebx
je 0x9577e4
push 0x3ff
lea ecx, [esp + 0x96d]
push ebx
push ecx
mov byte [esp + 0x974], bl
call fcn.00a7ffb0
add esp, 0xc
lea edx, [esp + 0x128]
push edx
push 0x400
lea eax, [esp + 0x970]
push eax
push 0xaa1543
push str.DownloadFromAnotherServer
push str.Config
call edi
cmp byte [esp + 0x968], 0x31
jne 0x9577e4
lea ecx, [esp + 0x128]
push ecx
push 0x400
lea edx, [esp + 0x970]
push edx
push 0xaa1543
push str.httphost
push str.Config
call edi
push ebx
lea eax, [esp + 0x96c]
push str.mwti.
push eax
call fcn.0095c8c0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x9577e4
push ebx
lea ecx, [esp + 0x96c]
push str.escanav.
push ecx
call fcn.0095c8c0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x9577e4
push ebx
lea edx, [esp + 0x96c]
push str.microworldsystems.
push edx
call fcn.0095c8c0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x9577e4
mov dword [0xbfc4f4], 1
cmp ebp, ebx
je 0x957805
push 1
push str._CBD__EI4_d
jmp 0x9577db
cmp esi, ebx
je 0x9577e4
push 0x103
lea eax, [esp + 0x25]
push ebx
push eax
mov byte [esp + 0x2c], bl
call fcn.00a7ffb0
add esp, 0xc
lea ecx, [esp + 0x128]
push ecx
push 0x104
lea edx, [esp + 0x28]
push edx
push 0xaa1543
push str.DownloadFromAnotherServer
push str.Config
call edi
cmp byte [esp + 0x20], 0x31
jne 0x9577e4
lea eax, [esp + 0x128]
push eax
push 0x104
lea ecx, [esp + 0x28]
push ecx
push 0xaa1543
push str.httphost
push str.Config
call edi
push ebx
lea edx, [esp + 0x24]
push str.mwti.
push edx
call fcn.0095c8c0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x9577e4
push ebx
lea eax, [esp + 0x24]
push str.escanav.
push eax
call fcn.0095c8c0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x9577e4
push ebx
lea ecx, [esp + 0x24]
push str.microworldsystems.
push ecx
call fcn.0095c8c0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x9577e4
mov dword [0xbfc4f4], 1
cmp ebp, ebx
je 0x957805
push 1
push str._CBD__EI5_d
push ebx
call fcn.0096a780
add esp, 0xc
cmp ebp, ebx
je 0x9577fe
mov edx, dword [0xb4c304]
push esi
push edx
push str._CBD__SMBCorp:__u___EupdateIniPresent:__u_
push ebx
call fcn.0096a780
add esp, 0x10
mov ebp, dword [esp + 0x1fbc]
mov esi, dword [esp + 0x10]
cmp dword [0xb4c304], ebx
je 0x9578a3
cmp esi, ebx
je 0x9578a3
push 0x103
lea eax, [esp + 0x25]
push ebx
push eax
mov byte [esp + 0x2c], bl
call fcn.00a7ffb0
add esp, 0xc
lea ecx, [esp + 0x128]
push ecx
push 0x104
lea edx, [esp + 0x28]
push edx
push 0xaa1543
push str.IsOtherOSBuild
push str.Config
call edi
cmp ebp, ebx
je 0x957876
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x12c]
push ecx
push str._CBD__IsOtherOSBuild_EINI:__s___lbuff___s_
push ebx
call fcn.0096a780
add esp, 0x10
cmp byte [esp + 0x20], 0x31
jne 0x95788c
lea edx, [esp + 0x20]
push edx
call fcn.00a79090
add esp, 4
jmp 0x957890
mov eax, dword [esp + 0x1c]
cmp ebp, ebx
je 0x9578a3
push eax
push str._CBD__DownloadOtherOSFiles_d
push ebx
call fcn.0096a780
add esp, 0xc
cmp dword [0xbfc4fc], ebx
jne 0x957a35
cmp dword [0xbfc4f4], ebx
jne 0x95792e
cmp esi, ebx
je 0x957a50
push 0x103
lea eax, [esp + 0x54d]
push ebx
push eax
mov byte [esp + 0x554], bl
call fcn.00a7ffb0
add esp, 0xc
lea ecx, [esp + 0x128]
push ecx
push 0x104
lea edx, [esp + 0x550]
push edx
push 0xaa1543
push str.DownloadType
push str.Config
call edi
cmp byte [esp + 0x548], 0x33
jne 0x957a35
mov dword [0xbfc4f4], 1
cmp ebp, ebx
je 0x957a43
push 1
push str._CBD__EI6_d
jmp 0x957a2c
cmp esi, ebx
je 0x957a35
push 0x103
lea eax, [esp + 0x25]
push ebx
push eax
mov byte [esp + 0x2c], bl
call fcn.00a7ffb0
add esp, 0xc
lea ecx, [esp + 0x128]
push ecx
push 0x104
lea edx, [esp + 0x28]
push edx
push 0xaa1543
push str.DownloadType
push str.Config
call edi
cmp byte [esp + 0x20], 0x32
jne 0x957a35
lea eax, [esp + 0x128]
push eax
push 0x104
lea ecx, [esp + 0x28]
push ecx
push 0xaa1543
push str.httphost
push str.Config
mov byte [esp + 0x38], bl
call edi
cmp byte [esp + 0x20], bl
je 0x957a35
mov eax, str.http:__
inc eax
cmp byte [eax], bl
jne 0x9579b1
sub eax, str.http:__
mov esi, eax
push esi
mov eax, str.http:__
lea ecx, [esp + 0x24]
call fcn.0094c380
add esp, 4
test eax, eax
jne 0x9579ea
lea eax, [esp + esi + 0x20]
lea edx, [esp + 0x20]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
cmp cl, bl
jne 0x9579e0
lea edx, [esp + 0x20]
push 0x2f
push edx
call fcn.00a7a2c0
add esp, 8
cmp eax, ebx
je 0x9579ff
mov byte [eax], bl
lea eax, [esp + 0x20]
push eax
push 0xbfc500
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [0xbfc500], bl
je 0x957a35
mov dword [0xbfc4f8], 1
cmp ebp, ebx
je 0x957a35
push 1
push str._CBD__EC7_d
push ebx
call fcn.0096a780
add esp, 0xc
mov eax, dword [0xbfc4f4]
cmp eax, ebx
je 0x957a50
cmp eax, 1
jne 0x957a4c
cmp dword [0xbfc4fc], 1
je 0x957a50
xor eax, eax
jmp 0x957a55
mov eax, 1
mov ecx, dword [esp + 0x1fb4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00a78f21
add esp, 0x1fa8
ret