Function at 0x96be10
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0xb13270
push 0xa847a0
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2878
call fcn.00a91950
mov eax, dword [0xb196ec]
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 eax, dword [ebp + 8]
mov dword [ebp - 0x286c], eax
mov dword [ebp - 0x2864], ecx
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x287c], esi
lea edx, [ebp - 0x287c]
push edx
push str.IgnoreIPChange
mov ecx, str.SoftwareMicroWorld
mov edx, 0x80000002
call fcn.0094c0d0
cmp dword [ebp - 0x287c], esi
jne 0x96be92
call fcn.00951760
cmp dword [0xbfd300], esi
jne 0x96c170
mov esi, 1
mov dword [0xbfd300], esi
mov ebx, 0xbfd308
call fcn.009541a0
test eax, eax
je 0x96c170
xor ebx, ebx
mov dword [ebp - 0x2888], ebx
mov byte [ebp - 0x230], bl
push 0x103
push ebx
lea eax, [ebp - 0x22f]
push eax
call fcn.00a7ffb0
add esp, 0xc
call fcn.0098b510
cmp eax, ebx
je 0x96c170
mov byte [ebp - 0x860], bl
push 0x103
push ebx
lea ecx, [ebp - 0x85f]
push ecx
call fcn.00a7ffb0
add esp, 0xc
push 0x104
lea edx, [ebp - 0x860]
push edx
push 0xaa1543
mov edx, str.server
mov ecx, 0xaa154c
call fcn.00958d30
add esp, 0xc
cmp byte [ebp - 0x860], 0x30
jne 0x96c170
mov dword [ebp - 0x2888], esi
mov byte [ebp - 0x2860], bl
push 0x1fff
push ebx
lea eax, [ebp - 0x285f]
push eax
call fcn.00a7ffb0
add esp, 0xc
push 0x2000
lea ecx, [ebp - 0x2860]
push ecx
push 0xaa1543
mov edx, str.ServerIPs
mov ecx, 0xaa154c
call fcn.00958d30
add esp, 0xc
cmp byte [ebp - 0x2860], bl
je 0x96c01b
mov byte [ebp - 0x440], bl
push 0x103
push ebx
lea edx, [ebp - 0x43f]
push edx
call fcn.00a7ffb0
add esp, 0xc
mov dword [ebp - 0x2874], ebx
lea eax, [ebp - 0x2874]
push eax
lea ecx, [ebp - 0x2860]
push ecx
mov bl, 0x2c
lea edi, [ebp - 0x440]
call fcn.0095ae80
add esp, 8
or esi, 0xffffffff
cmp dword [ebp - 0x2874], esi
je 0x96c019
push 0
lea edx, [ebp - 0x440]
push edx
call fcn.00965e80
add esp, 8
test eax, eax
je 0x96bff9
push 1
push 0x2c
lea edx, [ebp - 0x440]
mov ecx, str.10.160.61.177_10.160.61.4
call fcn.009694d0
lea eax, [ebp - 0x2874]
push eax
lea ecx, [ebp - 0x2860]
push ecx
mov bl, 0x2c
lea edi, [ebp - 0x440]
call fcn.0095ae80
add esp, 8
jmp 0x96bfc8
xor ebx, ebx
push 0xbfd308
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x230]
call fcn.00960910
push str.eupdate.ini
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [str.10.160.61.177_10.160.61.4], bl
jne 0x96c170
push 1
push 0
xor edx, edx
lea ecx, [ebp - 0x230]
call fcn.0095a0f0
add esp, 8
test eax, eax
jne 0x96c170
lea ecx, [ebp - 0x230]
push ecx
push 0x2000
lea edx, [ebp - 0x2860]
push edx
push 0xaa1543
push str.Servers
push str.Config
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
call esi
xor ebx, ebx
cmp byte [ebp - 0x2860], bl
je 0x96c111
mov byte [ebp - 0x548], bl
push 0x103
push ebx
lea eax, [ebp - 0x547]
push eax
call fcn.00a7ffb0
add esp, 0xc
mov dword [ebp - 0x2870], ebx
lea ecx, [ebp - 0x2870]
push ecx
lea edx, [ebp - 0x2860]
push edx
mov bl, 0x2c
lea edi, [ebp - 0x548]
call fcn.0095ae80
add esp, 8
cmp dword [ebp - 0x2870], 0xffffffff
je 0x96c111
push 0
mov eax, edi
push eax
call fcn.00965e80
add esp, 8
test eax, eax
je 0x96c0c7
push 1
push 0x2c
mov edx, edi
mov ecx, str.10.160.61.177_10.160.61.4
call fcn.009694d0
jmp 0x96c0c7
cmp byte [str.10.160.61.177_10.160.61.4], 0
jne 0x96c170
lea eax, [ebp - 0x230]
push eax
push 0x2000
lea ecx, [ebp - 0x2860]
push ecx
push 0xaa1543
push str.FTPHost
push str.Config
call esi
cmp byte [ebp - 0x2860], 0
je 0x96c170
push 0
lea edx, [ebp - 0x2860]
push edx
call fcn.00965e80
add esp, 8
test eax, eax
je 0x96c170
push 1
push 0x2c
lea edx, [ebp - 0x2860]
mov ecx, str.10.160.61.177_10.160.61.4
call fcn.009694d0
xor ebx, ebx
mov edi, dword [0xbfcce8]
cmp dword [0xbd85c4], ebx
je 0x96c1c8
cmp edi, ebx
je 0x96c1db
mov eax, str.127.0.0.1
mov ecx, edi
call fcn.0094c330
mov edi, dword [0xbfcce8]
test eax, eax
je 0x96c1c8
cmp edi, ebx
je 0x96c324
mov eax, str.169.254.
mov ecx, edi
call fcn.0094c3e0
mov edi, dword [0xbfcce8]
test eax, eax
je 0x96c1c8
cmp edi, ebx
je 0x96c324
cmp byte [edi], bl
jne 0x96c324
cmp edi, ebx
je 0x96c1db
push edi
call fcn.00a78fec
add esp, 4
mov dword [0xbfcce8], ebx
mov dword [0xbd85c4], 1
mov edx, 0xbfcce8
mov ecx, 0xbfccf0
call fcn.00984760
mov edi, dword [0xbfcce8]
cmp edi, ebx
je 0x96c324
mov dword [ebp - 0x2880], ebx
mov dword [ebp - 0x2878], ebx
mov byte [ebp - 0x338], 0
push 0x103
push ebx
lea eax, [ebp - 0x337]
push eax
call fcn.00a7ffb0
add esp, 0xc
mov ecx, edi
call fcn.0094c3d0
inc eax
push eax
call fcn.00a7a155
add esp, 4
mov esi, eax
cmp esi, ebx
jne 0x96c267
mov ecx, dword [0xbfcce8]
push ecx
call fcn.00a78fec
add esp, 4
push str.127.0.0.1
mov edx, dword [ebp - 0x2864]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x96c5f3
mov eax, dword [0xbfcce8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x2878]
push ecx
mov edx, dword [0xbfcce8]
push edx
mov bl, 0x2c
lea edi, [ebp - 0x338]
call fcn.0095ae80
add esp, 8
cmp dword [ebp - 0x2878], 0xffffffff
je 0x96c2e5
mov eax, edi
push eax
lea ecx, [ebp - 0x2880]
call fcn.0096b690
add esp, 4
cmp eax, 1
je 0x96c2d6
cmp byte [0xbfcdf8], 0
jne 0x96c2c8
mov ecx, edi
push ecx
push 0xbfcdf8
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x2c
push esi
lea ecx, [ebp - 0x338]
call fcn.0098d4d0
lea edx, [ebp - 0x2878]
push edx
mov eax, dword [0xbfcce8]
push eax
jmp 0x96c282
push esi
mov ecx, dword [0xbfcce8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [0xbfcce8]
push edx
call fcn.0095ad70
add esp, 4
push esi
call fcn.00a78fec
add esp, 4
mov eax, dword [ebp - 0x2880]
test eax, eax
je 0x96c31e
push eax
call fcn.00a78fec
add esp, 4
mov edi, dword [0xbfcce8]
mov eax, dword [ebp - 0x286c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
test eax, eax
je 0x96c342
push 0xbfccf0
push eax
call esi
mov edi, dword [0xbfcce8]
mov ebx, dword [ebp - 0x2864]
test ebx, ebx
je 0x96c5f3
test edi, edi
je 0x96c36c
cmp byte [edi], 0
jne 0x96c39d
push edi
call fcn.00a78fec
add esp, 4
mov dword [0xbfcce8], 0
cmp byte [0xbfcdf8], 0
je 0x96c5d1
mov eax, str.169.254.
mov ecx, 0xbfcdf8
call fcn.0094c3e0
test eax, eax
je 0x96c5d1
push 0xbfcdf8
push ebx
call esi
jmp 0x96c5f3
test edi, edi
je 0x96c36c
cmp byte [edi], 0
je 0x96c36c
push edi
push ebx
call esi
cmp dword [ebp + 0xc], 0
je 0x96c5c0
mov al, 0x2c
mov esi, ebx
mov edx, esi
call fcn.00975920
inc eax
cmp eax, 1
jle 0x96c5ae
mov byte [ebp - 0x128], 0
push 0x103
push 0
lea eax, [ebp - 0x127]
push eax
call fcn.00a7ffb0
add esp, 0xc
mov byte [ebp - 0x650], 0
push 0x103
push 0
lea ecx, [ebp - 0x64f]
push ecx
call fcn.00a7ffb0
add esp, 0xc
xor edi, edi
mov dword [ebp - 0x2868], edi
cmp byte [str.10.160.61.177_10.160.61.4], 0
je 0x96c514
xor esi, esi
mov dword [ebp - 0x2884], esi
lea edx, [ebp - 0x2868]
push edx
mov eax, ebx
push eax
mov bl, 0x2c
lea edi, [ebp - 0x128]
call fcn.0095ae80
add esp, 8
mov edi, dword [ebp - 0x2868]
cmp edi, 0xffffffff
je 0x96c514
mov eax, str.169.254.
mov dword [ebp - 0x288c], eax
cmp byte [eax], 0
je 0x96c45c
inc eax
jmp 0x96c44e
sub eax, str.169.254.
push eax
mov eax, str.169.254.
lea ecx, [ebp - 0x128]
call fcn.0094c380
add esp, 4
test eax, eax
je 0x96c501
mov dword [ebp - 0x286c], 0
mov byte [ebp - 0x758], 0
push 0x103
push 0
lea ecx, [ebp - 0x757]
push ecx
call fcn.00a7ffb0
add esp, 0xc
lea edx, [ebp - 0x286c]
push edx
push str.10.160.61.177_10.160.61.4
mov bl, 0x2c
lea edi, [ebp - 0x758]
call fcn.0095ae80
add esp, 8
cmp dword [ebp - 0x286c], 0xffffffff
je 0x96c501
lea eax, [ebp - 0x128]
push eax
call fcn.0096bd70
add esp, 4
cmp eax, esi
jle 0x96c4f8
mov esi, eax
mov dword [ebp - 0x2884], esi
lea ecx, [ebp - 0x128]
push ecx
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x286c]
push eax
jmp 0x96c4ab
lea ecx, [ebp - 0x2868]
push ecx
mov edx, dword [ebp - 0x2864]
push edx
jmp 0x96c42a
cmp byte [ebp - 0x650], 0
jne 0x96c58f
lea eax, [ebp - 0x2868]
push eax
mov esi, dword [ebp - 0x2864]
push esi
mov bl, 0x2c
lea edi, [ebp - 0x128]
call fcn.0095ae80
add esp, 8
mov edi, dword [ebp - 0x2868]
cmp edi, 0xffffffff
je 0x96c5ae
mov eax, str.169.254.
mov dword [ebp - 0x2890], eax
cmp byte [eax], 0
je 0x96c559
inc eax
jmp 0x96c54b
sub eax, str.169.254.
push eax
mov eax, str.169.254.
lea ecx, [ebp - 0x128]
call fcn.0094c380
add esp, 4
test eax, eax
je 0x96c586
lea ecx, [ebp - 0x128]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x96c5a9
lea edx, [ebp - 0x2868]
push edx
jmp 0x96c52a
lea eax, [ebp - 0x650]
push eax
mov ecx, dword [ebp - 0x2864]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [ebp - 0x2864]
cmp edi, 0xffffffff
jne 0x96c5c0
push 0x2c
push esi
call fcn.00a7a2c0
add esp, 8
test eax, eax
je 0x96c5c0
mov byte [eax], 0
mov edx, dword [ebp - 0x2864]
push edx
call fcn.0095ad70
add esp, 4
jmp 0x96c5f3
push str.127.0.0.1
push ebx
call esi
jmp 0x96c5f3
mov dword [ebp - 4], 0xfffffffe
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.00a78f21
mov esp, ebp
pop ebp
ret 8