Function at 0x1005c959
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 0xc]
push esi
movzx esi, byte [ebp + 8]
push edi
lea eax, [esi - 0x11]
cmp eax, 0xee
ja case.0x1005c582.18
movzx eax, byte [eax + 0x1005ca0c]
jmp dword [eax*4 + 0x1005c9d4]
mov ecx, ebx
call fcn.1005cc60
jmp case.0x1005c582.18
mov eax, dword [ebx + 0xc]
mov dword [0x101fc9e0], eax
jmp case.0x1005c582.18
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl cx, 8
or ecx, eax
and ecx, 0x7fff
cmp dword [0x101fc9e8], ecx
jne case.0x1005c582.18
mov dword [0x101fca04], 0
jmp case.0x1005c582.18
mov ecx, ebx
call fcn.1005cce0
jmp case.0x1005c582.18
cmp byte [ebx + 3], 0xfe
jne 0x1005c5f3
mov eax, dword [ebx + 8]
mov dword [0x101fca00], eax
mov eax, dword [ebx + 0xc]
mov dword [0x101fc9f0], eax
cmp byte [ebx + 3], 0xff
jne case.0x1005c582.18
mov eax, dword [ebx + 8]
mov dword [0x101fc9fc], eax
mov eax, dword [ebx + 0xc]
mov dword [0x101fc9ec], eax
jmp case.0x1005c582.18
mov ecx, ebx
call fcn.1005cd20
jmp case.0x1005c582.18
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl cx, 8
or ecx, eax
and ecx, 0x7fff
cmp dword [0x101fc9e8], ecx
jne case.0x1005c582.18
mov eax, dword [ebx + 8]
mov dword [0x101fca0c], eax
jmp case.0x1005c582.18
cmp byte [ebx], 0xc1
jne 0x1005c655
mov al, byte [ebx + 3]
jmp 0x1005c658
mov al, byte [ebx + 4]
movzx eax, al
sub eax, 0
je 0x1005c675
sub eax, 1
jne case.0x1005c582.18
mov ecx, ebx
call fcn.1005cd70
jmp case.0x1005c582.18
mov dx, word [ebx + 0x14]
lea ecx, [ebx + 4]
call fcn.1005e0d0
jmp case.0x1005c582.18
cmp byte [ebx], 0xc1
jne 0x1005c690
mov al, byte [ebx + 3]
jmp 0x1005c693
mov al, byte [ebx + 4]
movzx eax, al
sub eax, 0
je 0x1005c6e8
sub eax, 1
je 0x1005c6db
sub eax, 1
jne case.0x1005c582.18
cmp dword [0x101fca3c], 1
mov al, byte [ebx + 4]
je case.0x1005c582.18
test al, al
je 0x1005c6c5
cmp al, 2
jne case.0x1005c582.18
xor edx, edx
push 0
push 0
lea ecx, [edx + 2]
call fcn.1005ddf0
add esp, 8
jmp case.0x1005c582.18
mov cl, byte [ebx + 4]
call fcn.1005e150
jmp case.0x1005c582.18
movzx eax, byte [ebx + 5]
shl ax, 8
movzx ecx, ax
movzx eax, byte [ebx + 6]
or ecx, eax
mov dword [0x101fc9e8], ecx
jmp case.0x1005c582.18
cmp byte [ebx], 0xc1
jne 0x1005c70e
mov al, byte [ebx + 3]
jmp 0x1005c711
mov al, byte [ebx + 4]
movzx eax, al
cmp eax, 0xf2
ja case.0x1005c582.18
movzx eax, byte [eax + 0x1005cb64]
jmp dword [eax*4 + 0x1005cafc]
call fcn.1005e200
jmp case.0x1005c582.18
mov ecx, ebx
call fcn.1005cdc0
jmp case.0x1005c582.18
mov eax, dword [ebx + 0x1c]
mov dword [0x101fca04], eax
mov eax, dword [ebx + 0x20]
mov dword [0x101fc9fc], eax
mov eax, dword [ebx + 0x24]
mov dword [0x101fc9ec], eax
mov eax, dword [ebx + 0x28]
mov dword [0x101fc9f4], eax
jmp case.0x1005c582.18
mov ecx, ebx
call fcn.1005cf50
jmp case.0x1005c582.18
mov ecx, ebx
call fcn.1005cf90
jmp case.0x1005c582.18
mov eax, dword [ebx + 8]
mov dword [0x101fca04], eax
mov eax, dword [ebx + 0xc]
mov dword [0x101fc9f4], eax
mov eax, dword [ebx + 0x10]
mov dword [0x101fc9e0], eax
mov eax, dword [ebx + 0x14]
mov dword [0x101fc9dc], eax
jmp case.0x1005c582.18
mov eax, dword [ebx + 0x20]
mov dword [0x101fca08], eax
mov eax, dword [ebx + 0x24]
mov dword [0x101fca00], eax
mov eax, dword [ebx + 0x28]
mov dword [0x101fc9f0], eax
mov eax, dword [ebx + 0x2c]
mov dword [0x101fc9f8], eax
jmp case.0x1005c582.18
mov ecx, ebx
call fcn.1005cff0
jmp case.0x1005c582.18
mov ecx, ebx
call fcn.1005d040
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
mov ecx, ebx
call fcn.1005d1e0
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
mov ecx, ebx
call fcn.1005d360
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
movzx eax, byte [ebx + 4]
lea esi, [ebx + 6]
mov byte [0x101f472e], al
mov ecx, 0x1e
movzx eax, byte [ebx + 5]
mov edi, 0x101f47c8
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x7e]
mov byte [0x101f472d], al
mov ecx, 0x1e
mov edi, 0x101f4750
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
push ebx
call fcn.10026430
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
push ebx
call fcn.10024110
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
mov ecx, dword [ebx + 4]
xor eax, eax
test ecx, ecx
pop edi
cmovg eax, ecx
pop esi
mov dword [0x10202bb0], eax
mov eax, 1
pop ebx
pop ebp
ret
push ebx
call fcn.10018bc0
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
push ebx
call fcn.100501e0
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
mov eax, dword [ebx + 4]
mov dword [0x101fca14], eax
mov eax, dword [ebx + 8]
pop edi
mov dword [0x101fca18], eax
mov eax, dword [ebx + 0xc]
pop esi
mov dword [0x101fca1c], eax
mov eax, 1
pop ebx
pop ebp
ret
pop edi
mov dword [0x1030a7f4], 1
mov eax, dword [ebx + 4]
pop esi
mov dword [0x1030a7ec], eax
mov eax, 1
pop ebx
pop ebp
ret
mov eax, dword [ebx + 4]
pop edi
mov dword [0x1030a7f0], eax
mov eax, dword [ebx + 8]
pop esi
mov dword [0x1030a7ec], eax
mov eax, 1
pop ebx
pop ebp
ret
mov byte [0x101f76c1], 1
mov dword [0xe8cb3c], 1
movzx eax, byte [ebx + 4]
mov dword [0x101f5d4c], eax
jmp case.0x1005c582.18
mov ecx, dword [0x98670c4]
lea esi, [ebx + 4]
mov al, byte [esi]
mov byte [ecx + 0xc8], al
cmp byte [ebx + 3], 0
je 0x1005c93d
mov ecx, 0x25
mov edi, 0x1030a834
rep movsd dword es:[edi], dword [esi]
mov byte [0x1030a829], 1
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
mov ecx, ebx
call fcn.1005d530
jmp case.0x1005c582.18
mov ecx, ebx
call fcn.1005d5d0
jmp case.0x1005c582.18
cmp word [0x10113ca6], 1
jne case.0x1005c582.18
push str..Settings.ini
push 0
push str.DisablePing
push str.Other
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
jne case.0x1005c582.18
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101fa3a8]
mov dword [0x101fa3a4], eax
mov dword [0x101fa3a0], 3
jmp case.0x1005c582.18
mov ecx, ebx
call fcn.1005d650
jmp case.0x1005c582.18
cmp byte [ebx], 0xc1
jne 0x1005c9ae
mov al, byte [ebx + 3]
jmp 0x1005c9b1
mov al, byte [ebx + 4]
cmp al, 6
jne case.0x1005c582.18
mov ecx, ebx
call fcn.1005d9b0
push dword [ebp + 0x14]
mov eax, 0x663b20
push dword [ebp + 0x10]
push ebx
push esi
call eax
add esp, 0x10
pop edi
pop esi
pop ebx
pop ebp
ret