Function at 0x10070150
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x2444
call fcn.10140530
mov eax, dword [0x10189710]
xor eax, esp
mov dword [esp + 0x243c], eax
test byte [0x101cdbf4], 1
mov eax, dword [esp + 0x2448]
push ebx
push ebp
push esi
push edi
mov edi, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], ecx
jne 0x100701ba
or dword [0x101cdbf4], 1
push 0x18
call fcn.10128320
add esp, 4
mov esi, eax
push 0x1f40
push esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
test eax, eax
jne 0x100701b4
push esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x101cdbf0], esi
mov esi, dword [esp + 0x18]
mov ebp, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
mov dword [esi], 1
cmp dword [0x101c908c], ebx
jne 0x10070224
mov edx, dword [0x101cdbf0]
push edx
call ebp
cmp dword [0x101c908c], ebx
jne 0x10070217
lea eax, [esp + 0x1c]
push eax
push str.IgnoreIPChange
mov ecx, str.SoftwareMicroWorld
mov edx, reloc.WS2_32.dll_bind
mov dword [esp + 0x24], ebx
mov dword [0x101c908c], 1
call fcn.10059e30
cmp dword [esp + 0x1c], ebx
jne 0x10070217
call fcn.1005c6f0
mov ecx, dword [0x101cdbf0]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esi], 2
cmp dword [0x101c9088], ebx
jne 0x100705b0
mov edx, dword [0x101cdbf0]
push edx
call ebp
cmp dword [0x101c9088], ebx
jne 0x1007059b
push 0x103
lea eax, [esp + 0x23d]
push ebx
push eax
mov byte [esp + 0x244], bl
call fcn.1012e060
add esp, 0xc
lea edi, [esp + 0x238]
mov dword [0x101c9088], 1
call fcn.1005d0a0
test eax, eax
je 0x1007059b
push 0x103
lea ecx, [esp + 0x2d]
push ebx
push ecx
xor esi, esi
mov byte [esp + 0x34], bl
call fcn.1012e060
mov edi, dword [esp + 0x24]
add esp, 0xc
mov dword [edi], 4
call fcn.10087070
test eax, eax
je 0x10070302
push 0x103
lea edx, [esp + 0x345]
push ebx
push edx
mov byte [esp + 0x34c], bl
call fcn.1012e060
add esp, 0xc
push 0x104
lea eax, [esp + 0x344]
push eax
push 0x1014d5e3
mov edx, str.server
mov ecx, str.eScan
call fcn.1005ffb0
add esp, 0xc
cmp byte [esp + 0x340], 0x30
jne 0x10070302
mov esi, 1
mov dword [edi], 5
cmp esi, ebx
je 0x1007059b
push 0x1fff
lea ecx, [esp + 0x44d]
push ebx
push ecx
mov byte [esp + 0x454], bl
call fcn.1012e060
add esp, 0xc
push 0x2000
lea edx, [esp + 0x44c]
push edx
push 0x1014d5e3
mov edx, str.ServerIPs
mov ecx, str.eScan
call fcn.1005ffb0
add esp, 0xc
cmp byte [esp + 0x448], bl
je 0x10070404
push 0x103
lea eax, [esp + 0x135]
push ebx
push eax
mov byte [esp + 0x13c], bl
call fcn.1012e060
add esp, 0xc
push 1
lea ecx, [esp + 0x18]
push 0x2c
push ecx
lea edx, [esp + 0x13c]
push edx
xor cl, cl
lea edx, [esp + 0x458]
mov dword [esp + 0x24], ebx
call fcn.10061f00
or edi, 0xffffffff
add esp, 0x10
cmp dword [esp + 0x14], edi
je 0x10070407
lea ebx, [ebx]
lea eax, [esp + 0x130]
push ebx
push eax
call fcn.10069e60
add esp, 8
test eax, eax
je 0x100703da
push 1
push 0x2c
lea edx, [esp + 0x138]
mov ecx, 0x101c8c88
call fcn.1006c030
push 1
lea ecx, [esp + 0x18]
push 0x2c
push ecx
lea edx, [esp + 0x13c]
push edx
xor cl, cl
lea edx, [esp + 0x458]
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x14], edi
jne 0x100703b0
jmp 0x10070407
or edi, 0xffffffff
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x238]
push ecx
lea edx, [esp + 0x2c]
push edx
mov dword [eax], 6
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x28]
call fcn.10065200
push str.eupdate.ini
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [0x101c8c88], bl
jne 0x1007059b
push 1
push ebx
xor edx, edx
lea ecx, [esp + 0x30]
call fcn.10060eb0
add esp, 8
test eax, eax
jne 0x1007059b
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x28]
push ecx
push 0x2000
lea edx, [esp + 0x450]
push edx
push 0x1014d5e3
push str.Servers
push str.Config
call esi
cmp byte [esp + 0x448], bl
je 0x10070533
push 0x103
lea eax, [esp + 0x135]
push ebx
push eax
mov byte [esp + 0x13c], bl
call fcn.1012e060
add esp, 0xc
push 1
lea ecx, [esp + 0x18]
push 0x2c
push ecx
lea edx, [esp + 0x13c]
push edx
xor cl, cl
lea edx, [esp + 0x458]
mov dword [esp + 0x24], ebx
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x14], edi
je 0x10070533
lea eax, [esp + 0x130]
push ebx
push eax
call fcn.10069e60
add esp, 8
test eax, eax
je 0x1007050b
push 1
push 0x2c
lea edx, [esp + 0x138]
mov ecx, 0x101c8c88
call fcn.1006c030
push 1
lea ecx, [esp + 0x18]
push 0x2c
push ecx
lea edx, [esp + 0x13c]
push edx
xor cl, cl
lea edx, [esp + 0x458]
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x14], edi
jne 0x100704e1
mov eax, dword [esp + 0x18]
mov dword [eax], 7
cmp byte [0x101c8c88], bl
jne 0x1007059b
lea ecx, [esp + 0x28]
push ecx
push 0x2000
lea edx, [esp + 0x450]
push edx
push 0x1014d5e3
push str.FTPHost
push str.Config
call esi
cmp byte [esp + 0x448], bl
je 0x1007059b
lea eax, [esp + 0x448]
push ebx
push eax
call fcn.10069e60
add esp, 8
test eax, eax
je 0x1007059b
push 1
push 0x2c
lea edx, [esp + 0x450]
mov ecx, 0x101c8c88
call fcn.1006c030
mov ecx, dword [0x101cdbf0]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edx, dword [0x101cdbf0]
push edx
mov dword [esi], 8
call ebp
cmp dword [0x101b597c], ebx
je 0x10070612
mov ecx, dword [0x101c8a70]
cmp ecx, ebx
je 0x1007062a
mov eax, str.127.0.0.1
call fcn.1005a090
test eax, eax
je 0x10070612
mov ecx, dword [0x101c8a70]
cmp ecx, ebx
je 0x100707a2
mov eax, str.169.254.
call fcn.1005a140
test eax, eax
je 0x10070612
mov eax, dword [0x101c8a70]
cmp eax, ebx
je 0x100707a2
cmp byte [eax], bl
jne 0x100707a2
jmp 0x10070617
mov eax, dword [0x101c8a70]
cmp eax, ebx
je 0x1007062a
push eax
call fcn.10128243
add esp, 4
mov dword [0x101c8a70], ebx
mov esi, dword [esp + 0x18]
mov edx, 0x101c8a70
mov ecx, 0x101c8a78
mov dword [0x101b597c], 1
mov dword [esi], 9
call fcn.10082570
mov dword [esi], 0xa
mov esi, dword [0x101c8a70]
cmp esi, ebx
je 0x100707a2
push 0x103
lea eax, [esp + 0x135]
push ebx
push eax
mov byte [esp + 0x13c], bl
call fcn.1012e060
add esp, 0xc
mov dword [esp + 0x14], ebx
mov eax, esi
cmp byte [esi], bl
je 0x1007068d
inc eax
cmp byte [eax], bl
jne 0x10070688
sub eax, esi
inc eax
push eax
call fcn.10128320
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x100706c3
mov ecx, dword [0x101c8a70]
push ecx
call fcn.10128243
mov edx, dword [esp + 0x24]
add esp, 4
push str.127.0.0.1
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x10070aa3
mov ebp, dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp], 0xb
mov eax, dword [0x101c8a70]
push eax
push edi
call esi
push 1
lea ecx, [esp + 0x18]
push 0x2c
push ecx
lea edx, [esp + 0x13c]
push edx
mov edx, dword [0x101c8a70]
xor cl, cl
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x14], 0xffffffff
je 0x10070775
jmp 0x10070710
lea eax, [esp + 0x130]
push eax
mov ecx, 0x101c9090
call fcn.1006f940
add esp, 4
cmp eax, 1
je 0x1007074d
cmp byte [0x101c8b80], bl
jne 0x10070741
lea ecx, [esp + 0x130]
push ecx
push 0x101c8b80
call esi
lea ecx, [esp + 0x130]
call fcn.10089220
push 1
push 0x2c
lea edx, [esp + 0x1c]
push edx
mov edx, dword [0x101c8a70]
lea eax, [esp + 0x13c]
push eax
xor cl, cl
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x14], 0xffffffff
jne 0x10070710
mov dword [ebp], 0xd
mov ecx, dword [0x101c8a70]
push edi
push ecx
call esi
mov edx, dword [0x101c8a70]
push edx
call fcn.10061df0
add esp, 4
push edi
call fcn.10128243
mov edi, dword [esp + 0x24]
add esp, 4
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp], 0xe
cmp eax, ebx
je 0x100707c3
push 0x101c8a78
push eax
call esi
cmp edi, ebx
je 0x10070a90
mov dword [ebp], 0xf
mov eax, dword [0x101c8a70]
cmp eax, ebx
je 0x100707ee
cmp byte [eax], bl
jne 0x100707ee
push eax
call fcn.10128243
add esp, 4
mov dword [0x101c8a70], ebx
mov dword [ebp], 0x10
mov eax, dword [0x101c8a70]
cmp eax, ebx
je 0x10070a5f
cmp byte [eax], bl
je 0x10070a5f
push eax
push edi
call esi
cmp dword [esp + 0x245c], ebx
je 0x10070a50
mov al, 0x2c
mov edx, edi
call fcn.100770c0
inc eax
cmp eax, 1
jle 0x10070a3f
push 0x103
lea eax, [esp + 0x2d]
push ebx
push eax
mov byte [esp + 0x34], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea ecx, [esp + 0x345]
push ebx
push ecx
mov byte [esp + 0x34c], bl
call fcn.1012e060
xor esi, esi
add esp, 0xc
mov dword [esp + 0x14], esi
cmp byte [0x101c8c88], bl
je 0x1007099c
push 1
push 0x2c
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x34]
push eax
xor cl, cl
mov edx, edi
xor ebp, ebp
call fcn.10061f00
mov esi, dword [esp + 0x24]
add esp, 0x10
cmp esi, 0xffffffff
je 0x1007099c
lea ecx, [ecx]
mov eax, str.169.254.
inc eax
cmp byte [eax], bl
jne 0x100708a5
sub eax, str.169.254.
push eax
mov eax, str.169.254.
lea ecx, [esp + 0x2c]
call fcn.1005a0e0
add esp, 4
test eax, eax
je 0x10070975
push 0x103
lea ecx, [esp + 0x23d]
push ebx
push ecx
mov dword [esp + 0x28], ebx
mov byte [esp + 0x244], bl
call fcn.1012e060
add esp, 0xc
push 1
push 0x2c
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x244]
push eax
xor cl, cl
mov edx, 0x101c8c88
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x1c], 0xffffffff
je 0x10070975
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x28]
push edx
lea edi, [esp + 0x23c]
mov dword [ecx], 0x11
call fcn.10070020
add esp, 4
cmp eax, ebp
jle 0x1007094a
mov ebp, eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x344]
push ecx
call esi
push 1
push 0x2c
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x244]
push eax
xor cl, cl
mov edx, 0x101c8c88
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x1c], 0xffffffff
jne 0x10070917
mov edi, dword [esp + 0x20]
push 1
lea ecx, [esp + 0x18]
push 0x2c
push ecx
lea edx, [esp + 0x34]
push edx
xor cl, cl
mov edx, edi
call fcn.10061f00
mov esi, dword [esp + 0x24]
add esp, 0x10
cmp esi, 0xffffffff
jne 0x100708a0
mov ebp, dword [esp + 0x18]
mov dword [ebp], 0x12
cmp byte [esp + 0x340], bl
jne 0x10070a24
push 1
push 0x2c
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x30]
push eax
push ecx
xor cl, cl
mov edx, edi
call fcn.10061f00
mov esi, dword [esp + 0x24]
add esp, 0x10
cmp esi, 0xffffffff
je 0x10070a33
mov eax, str.169.254.
inc eax
cmp byte [eax], bl
jne 0x100709d8
sub eax, str.169.254.
push eax
mov eax, str.169.254.
lea ecx, [esp + 0x2c]
call fcn.1005a0e0
add esp, 4
test eax, eax
jne 0x10070a1d
push 1
push 0x2c
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x34]
push eax
xor cl, cl
mov edx, edi
call fcn.10061f00
mov esi, dword [esp + 0x24]
add esp, 0x10
cmp esi, 0xffffffff
jne 0x100709d3
jmp 0x10070a33
lea ecx, [esp + 0x28]
push ecx
jmp 0x10070a2c
lea edx, [esp + 0x340]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp], 0x13
cmp esi, 0xffffffff
jne 0x10070a50
push 0x2c
push edi
call fcn.10128490
add esp, 8
cmp eax, ebx
je 0x10070a50
mov byte [eax], bl
push edi
call fcn.10061df0
mov ebp, dword [esp + 0x1c]
add esp, 4
jmp 0x10070a90
mov dword [ebp], 0x14
cmp byte [0x101c8b80], bl
je 0x10070a88
mov eax, str.169.254.
mov ecx, 0x101c8b80
call fcn.1005a140
test eax, eax
je 0x10070a88
push 0x101c8b80
jmp 0x10070a8d
push str.127.0.0.1
push edi
call esi
mov eax, dword [0x101cdbf0]
push eax
mov dword [ebp], 0x16
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x244c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10127db1
add esp, 0x2444
ret 8