Function at 0x10054860
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x2428
call fcn.10126240
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x2424], eax
test byte [0x101a3ca4], 1
mov eax, dword [esp + 0x242c]
push ebx
push ebp
push esi
push edi
mov edi, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ecx
jne 0x100548ca
or dword [0x101a3ca4], 1
push 0x18
call fcn.1010dced
add esp, 4
mov esi, eax
push 0x1f40
push esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
test eax, eax
jne 0x100548c4
push esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x101a3ca0], esi
mov esi, dword [esp + 0x14]
mov ebp, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
mov dword [esi], 1
cmp dword [0x1017f0ac], ebx
je 0x1005493c
cmp dword [0x1019f164], ebx
jne 0x1005493c
mov edx, dword [0x101a3ca0]
push edx
call ebp
cmp dword [0x1019f164], ebx
jne 0x1005492f
lea eax, [esp + 0x18]
push eax
push str.IgnoreIPChange
mov ecx, str.SoftwareMicroWorld
mov edx, reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x20], ebx
mov dword [0x1019f164], 1
call fcn.10031670
cmp dword [esp + 0x18], ebx
jne 0x1005492f
call fcn.100375b0
mov ecx, dword [0x101a3ca0]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esi], 2
cmp dword [0x1019f160], ebx
jne 0x10054cad
mov edx, dword [0x101a3ca0]
push edx
call ebp
cmp dword [0x1019f160], ebx
jne 0x10054c99
push 0x103
lea eax, [esp + 0x231]
push ebx
push eax
mov byte [esp + 0x238], bl
call fcn.10116880
add esp, 0xc
lea edi, [esp + 0x22c]
mov dword [0x1019f160], 1
call fcn.10039e30
test eax, eax
je 0x10054c99
push 0x103
lea ecx, [esp + 0x29]
push ebx
push ecx
xor esi, esi
mov byte [esp + 0x30], bl
call fcn.10116880
mov edi, dword [esp + 0x20]
add esp, 0xc
mov dword [edi], 4
call fcn.1006c2f0
test eax, eax
je 0x10054a17
push 0x103
lea edx, [esp + 0x335]
push ebx
push edx
mov byte [esp + 0x33c], bl
call fcn.10116880
push 0x104
lea eax, [esp + 0x340]
push eax
push 0x1013f817
mov edx, str.server
mov ecx, str.eScan
call fcn.100436c0
add esp, 0x18
cmp byte [esp + 0x330], 0x30
jne 0x10054a17
mov esi, 1
mov dword [edi], 5
cmp esi, ebx
je 0x10054c99
push 0x1fff
lea ecx, [esp + 0x439]
push ebx
push ecx
mov byte [esp + 0x440], bl
call fcn.10116880
push 0x2000
lea edx, [esp + 0x444]
push edx
push 0x1013f817
mov edx, str.ServerIPs
mov ecx, str.eScan
call fcn.100436c0
add esp, 0x18
cmp byte [esp + 0x434], bl
je 0x10054b08
push 0x103
lea eax, [esp + 0x12d]
push ebx
push eax
mov byte [esp + 0x134], bl
call fcn.10116880
push 1
lea ecx, [esp + 0x20]
push 0x2c
push ecx
lea edx, [esp + 0x140]
lea ecx, [esp + 0x44c]
mov dword [esp + 0x28], ebx
call fcn.10045850
or edi, 0xffffffff
add esp, 0x18
cmp dword [esp + 0x10], edi
je 0x10054b0b
lea edx, [esp + 0x128]
push ebx
push edx
call fcn.1004dcf0
add esp, 8
test eax, eax
je 0x10054ae1
push 1
push 0x2c
lea eax, [esp + 0x130]
push eax
push 0x1019ed60
call sym.EncDec.dll_AddToCommaList
push 1
lea ecx, [esp + 0x14]
push 0x2c
push ecx
lea edx, [esp + 0x134]
lea ecx, [esp + 0x440]
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x10], edi
jne 0x10054ab6
jmp 0x10054b0b
or edi, 0xffffffff
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x22c]
push eax
lea ecx, [esp + 0x28]
push ecx
mov dword [edx], 6
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x24]
call fcn.10049c40
push str.eupdate.ini
lea edx, [esp + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [0x1019ed60], bl
jne 0x10054c99
push 1
push ebx
xor edx, edx
lea ecx, [esp + 0x2c]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x10054c99
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x24]
push eax
push 0x2000
lea ecx, [esp + 0x43c]
push ecx
push 0x1013f817
push str.Servers
push str.Config
call esi
cmp byte [esp + 0x434], bl
je 0x10054c30
push 0x103
lea edx, [esp + 0x12d]
push ebx
push edx
mov byte [esp + 0x134], bl
call fcn.10116880
push 1
lea eax, [esp + 0x20]
push 0x2c
push eax
lea edx, [esp + 0x140]
lea ecx, [esp + 0x44c]
mov dword [esp + 0x28], ebx
call fcn.10045850
add esp, 0x18
cmp dword [esp + 0x10], edi
je 0x10054c30
nop
lea ecx, [esp + 0x128]
push ebx
push ecx
call fcn.1004dcf0
add esp, 8
test eax, eax
je 0x10054c0b
push 1
push 0x2c
lea edx, [esp + 0x130]
push edx
push 0x1019ed60
call sym.EncDec.dll_AddToCommaList
push 1
lea eax, [esp + 0x14]
push 0x2c
push eax
lea edx, [esp + 0x134]
lea ecx, [esp + 0x440]
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x10], edi
jne 0x10054be0
mov ecx, dword [esp + 0x14]
mov dword [ecx], 7
cmp byte [0x1019ed60], bl
jne 0x10054c99
lea edx, [esp + 0x24]
push edx
push 0x2000
lea eax, [esp + 0x43c]
push eax
push 0x1013f817
push str.FTPHost
push str.Config
call esi
cmp byte [esp + 0x434], bl
je 0x10054c99
lea ecx, [esp + 0x434]
push ebx
push ecx
call fcn.1004dcf0
add esp, 8
test eax, eax
je 0x10054c99
push 1
push 0x2c
lea edx, [esp + 0x43c]
push edx
push 0x1019ed60
call sym.EncDec.dll_AddToCommaList
mov eax, dword [0x101a3ca0]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [0x101a3ca0]
push ecx
mov dword [esi], 8
call ebp
cmp dword [0x101936bc], ebx
je 0x10054d0f
mov ecx, dword [0x1019eb48]
cmp ecx, ebx
je 0x10054d27
mov eax, str.127.0.0.1
call fcn.10031890
test eax, eax
je 0x10054d0f
mov ecx, dword [0x1019eb48]
cmp ecx, ebx
je 0x10054e8e
mov eax, str.169.254.
call fcn.10031940
test eax, eax
je 0x10054d0f
mov eax, dword [0x1019eb48]
cmp eax, ebx
je 0x10054e8e
cmp byte [eax], bl
jne 0x10054e8e
jmp 0x10054d14
mov eax, dword [0x1019eb48]
cmp eax, ebx
je 0x10054d27
push eax
call fcn.1010dc10
add esp, 4
mov dword [0x1019eb48], ebx
mov esi, dword [esp + 0x14]
push 0x1019eb48
push 0x1019eb50
mov dword [0x101936bc], 1
mov dword [esi], 9
call sym.EncDec.dll_GetHostnameAndIP
mov dword [esi], 0xa
mov esi, dword [0x1019eb48]
cmp esi, ebx
je 0x10054e8e
push 0x103
lea edx, [esp + 0x12d]
push ebx
push edx
mov byte [esp + 0x134], bl
call fcn.10116880
add esp, 0xc
mov dword [esp + 0x10], ebx
mov eax, esi
cmp byte [esi], bl
je 0x10054d8a
inc eax
cmp byte [eax], bl
jne 0x10054d85
sub eax, esi
inc eax
push eax
call fcn.1010dced
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x10054dbb
mov eax, dword [0x1019eb48]
push eax
call fcn.1010dc10
add esp, 4
push str.127.0.0.1
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x10055179
mov ecx, dword [esp + 0x14]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ecx], 0xb
mov edx, dword [0x1019eb48]
push edx
push esi
call ebp
mov ecx, dword [0x1019eb48]
push 1
lea eax, [esp + 0x14]
push 0x2c
push eax
lea edx, [esp + 0x134]
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x10], 0xffffffff
je 0x10054e66
lea ebx, [ebx]
lea ecx, [esp + 0x128]
push ecx
mov ecx, 0x1019f168
call fcn.10054060
add esp, 4
cmp eax, 1
je 0x10054e41
cmp byte [0x1019ec58], bl
jne 0x10054e31
lea edx, [esp + 0x128]
push edx
push 0x1019ec58
call ebp
push 0x2c
lea eax, [esp + 0x12c]
push eax
push esi
call sym.EncDec.dll_RemoveFromCommaList
push 1
lea ecx, [esp + 0x14]
push 0x2c
push ecx
mov ecx, dword [0x1019eb48]
lea edx, [esp + 0x134]
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x10], 0xffffffff
jne 0x10054e00
mov edx, dword [esp + 0x14]
mov dword [edx], 0xd
mov eax, dword [0x1019eb48]
push esi
push eax
call ebp
mov ecx, dword [0x1019eb48]
push ecx
call fcn.100454f0
push esi
call fcn.1010dc10
add esp, 8
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp], 0xe
cmp eax, ebx
je 0x10054eaf
push 0x1019eb50
push eax
call esi
cmp edi, ebx
je 0x10055165
mov dword [ebp], 0xf
mov eax, dword [0x1019eb48]
cmp eax, ebx
je 0x10054eda
cmp byte [eax], bl
jne 0x10054eda
push eax
call fcn.1010dc10
add esp, 4
mov dword [0x1019eb48], ebx
mov dword [ebp], 0x10
mov eax, dword [0x1019eb48]
cmp eax, ebx
je 0x10055134
cmp byte [eax], bl
je 0x10055134
push eax
push edi
call esi
cmp dword [esp + 0x2440], ebx
je 0x10055125
mov al, 0x2c
mov edx, edi
call fcn.1005a900
inc eax
cmp eax, 1
jle 0x10055114
push 0x103
lea edx, [esp + 0x29]
push ebx
push edx
mov byte [esp + 0x30], bl
call fcn.10116880
push 0x103
lea eax, [esp + 0x341]
push ebx
push eax
mov byte [esp + 0x348], bl
call fcn.10116880
xor esi, esi
add esp, 0x18
mov dword [esp + 0x10], esi
cmp byte [0x1019ed60], bl
je 0x10055073
push 1
lea ecx, [esp + 0x14]
push 0x2c
push ecx
lea edx, [esp + 0x30]
mov ecx, edi
xor ebp, ebp
call fcn.10045850
mov esi, dword [esp + 0x1c]
add esp, 0xc
cmp esi, 0xffffffff
je 0x10055073
mov eax, str.169.254.
inc eax
cmp byte [eax], bl
jne 0x10054f88
sub eax, str.169.254.
push eax
mov eax, str.169.254.
lea ecx, [esp + 0x28]
call fcn.100318e0
add esp, 4
test eax, eax
je 0x1005504f
push 0x103
lea edx, [esp + 0x231]
push ebx
push edx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x238], bl
call fcn.10116880
push 1
lea eax, [esp + 0x28]
push 0x2c
push eax
lea edx, [esp + 0x244]
mov ecx, 0x1019ed60
call fcn.10045850
add esp, 0x18
cmp dword [esp + 0x18], 0xffffffff
je 0x1005504f
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x24]
push edx
lea edi, [esp + 0x230]
mov dword [ecx], 0x11
call fcn.10054730
add esp, 4
cmp eax, ebp
jle 0x10055027
mov ebp, eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x334]
push ecx
call esi
push 1
lea edx, [esp + 0x1c]
push 0x2c
push edx
lea edx, [esp + 0x238]
mov ecx, 0x1019ed60
call fcn.10045850
add esp, 0xc
cmp dword [esp + 0x18], 0xffffffff
jne 0x10054ff4
mov edi, dword [esp + 0x1c]
push 1
lea eax, [esp + 0x14]
push 0x2c
push eax
lea edx, [esp + 0x30]
mov ecx, edi
call fcn.10045850
mov esi, dword [esp + 0x1c]
add esp, 0xc
cmp esi, 0xffffffff
jne 0x10054f83
mov ebp, dword [esp + 0x14]
mov dword [ebp], 0x12
cmp byte [esp + 0x330], bl
jne 0x100550f9
push 1
lea ecx, [esp + 0x14]
push 0x2c
push ecx
lea edx, [esp + 0x30]
mov ecx, edi
call fcn.10045850
mov esi, dword [esp + 0x1c]
add esp, 0xc
cmp esi, 0xffffffff
je 0x10055108
mov eax, str.169.254.
lea esp, [esp]
inc eax
cmp byte [eax], bl
jne 0x100550b0
sub eax, str.169.254.
push eax
mov eax, str.169.254.
lea ecx, [esp + 0x28]
call fcn.100318e0
add esp, 4
test eax, eax
jne 0x100550f2
push 1
lea edx, [esp + 0x14]
push 0x2c
push edx
lea edx, [esp + 0x30]
mov ecx, edi
call fcn.10045850
mov esi, dword [esp + 0x1c]
add esp, 0xc
cmp esi, 0xffffffff
jne 0x100550a7
jmp 0x10055108
lea eax, [esp + 0x24]
push eax
jmp 0x10055101
lea ecx, [esp + 0x330]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp], 0x13
cmp esi, 0xffffffff
jne 0x10055125
push 0x2c
push edi
call fcn.1010d780
add esp, 8
cmp eax, ebx
je 0x10055125
mov byte [eax], bl
push edi
call fcn.100454f0
mov ebp, dword [esp + 0x18]
add esp, 4
jmp 0x10055165
mov dword [ebp], 0x14
cmp byte [0x1019ec58], bl
je 0x1005515d
mov eax, str.169.254.
mov ecx, 0x1019ec58
call fcn.10031940
test eax, eax
je 0x1005515d
push 0x1019ec58
jmp 0x10055162
push str.127.0.0.1
push edi
call esi
mov edx, dword [0x101a3ca0]
push edx
mov dword [ebp], 0x16
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x2434]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1010d699
add esp, 0x2428
ret 8