Function at 0x411b30
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
mov edx, ecx
push edi
xor ebx, ebx
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [edx + 0x234]
mov dword [esp + 0x10], edx
push eax
lea eax, [esp + 0x18]
push 8
push eax
push str.AUDIT
push str.AuthMode
push str.ICGAUTHCLIENT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, 0x4207a0
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411ba3
cmp cl, bl
je 0x411b9f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411ba3
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411b7f
xor eax, eax
jmp 0x411ba8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x411bbf
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc4], 0x3f
jmp 0x411d25
mov esi, str.LOCAL
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411bec
cmp cl, bl
je 0x411be8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411bec
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411bc8
xor eax, eax
jmp 0x411bf1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x411c08
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc4], 0x40
jmp 0x411d25
mov esi, str.ADMIT
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411c35
cmp cl, bl
je 0x411c31
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411c35
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411c11
xor eax, eax
jmp 0x411c3a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x411d17
mov esi, 0x420788
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411c6f
cmp cl, bl
je 0x411c6b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411c6f
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411c4b
xor eax, eax
jmp 0x411c74
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x411c8b
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc4], 0xe
jmp 0x411d25
mov esi, str.USBKEY_AD
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411cb8
cmp cl, bl
je 0x411cb4
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411cb8
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411c94
xor eax, eax
jmp 0x411cbd
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x411cd1
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc4], 0x41
jmp 0x411d25
mov esi, str.USBKEY_LOCAL
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411cfe
cmp cl, bl
je 0x411cfa
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411cfe
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411cda
xor eax, eax
jmp 0x411d03
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x411d17
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc4], 0x42
jmp 0x411d25
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc4], 0xc
add eax, 0x234
push eax
lea eax, [esp + 0x18]
push 8
push eax
push 0x420768
push str.ShowTrayIcon
push str.ICGAUTHCLIENT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, 0x420754
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411d74
cmp cl, bl
je 0x411d70
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411d74
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411d50
xor eax, eax
jmp 0x411d79
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
mov eax, dword [esp + 0x10]
mov ebp, 1
jne 0x411d8e
mov dword [eax + 0xc8], ebp
jmp 0x411d94
mov dword [eax + 0xc8], ebx
add eax, 0x234
push eax
lea eax, [esp + 0x18]
push 8
push eax
push 0x420768
push str.MustAddAd
push str.ICGAUTHCLIENT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, 0x420768
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411de3
cmp cl, bl
je 0x411ddf
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411de3
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411dbf
xor eax, eax
jmp 0x411de8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
mov eax, dword [esp + 0x10]
jne 0x411df8
mov dword [eax + 0xcc], ebx
jmp 0x411dfe
mov dword [eax + 0xcc], ebp
add eax, 0x234
push eax
lea eax, [esp + 0x18]
push 8
push eax
push 0x420754
push str.AutoRun
push str.ICGAUTHCLIENT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, 0x420754
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411e4d
cmp cl, bl
je 0x411e49
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411e4d
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411e29
xor eax, eax
jmp 0x411e52
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
mov eax, dword [esp + 0x10]
jne 0x411e62
mov dword [eax + 0xd0], ebp
jmp 0x411e68
mov dword [eax + 0xd0], ebx
add eax, 0x234
push eax
lea eax, [esp + 0x18]
push 8
push eax
push 0x420768
push str.ShowFailInfo
push str.ICGAUTHCLIENT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, 0x420768
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411eb7
cmp cl, bl
je 0x411eb3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411eb7
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411e93
xor eax, eax
jmp 0x411ebc
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
mov eax, dword [esp + 0x10]
jne 0x411ecc
mov dword [eax + 0xd4], ebx
jmp 0x411ed2
mov dword [eax + 0xd4], ebp
add eax, 0x234
push eax
lea eax, [esp + 0x18]
push 8
push eax
push 0x420768
push str.CanChangePwd
push str.ICGAUTHCLIENT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, 0x420768
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411f21
cmp cl, bl
je 0x411f1d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411f21
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411efd
xor eax, eax
jmp 0x411f26
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x411f36
mov eax, dword [esp + 0x10]
mov dword [eax + 0xd8], ebx
jmp 0x411f40
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xd8], ebp
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x14]
lea esi, [edx + 0x234]
push esi
push 8
push eax
push 0x42071c
push str.HearTime
push str.ICGAUTHCLIENT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [sym.imp.MSVCRT.dll_atoi]
lea ecx, [esp + 0x14]
push ecx
call edi
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [edx + 0xdc], eax
push esi
lea eax, [esp + 0x18]
push 8
push eax
push 0x420754
push str.SaveConfig
push str.ICGAUTHCLIENT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, 0x420754
lea eax, [esp + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x411fcb
cmp cl, bl
je 0x411fc7
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x411fcb
add eax, 2
add esi, 2
cmp cl, bl
jne 0x411fa7
xor eax, eax
jmp 0x411fd0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x411fe0
mov eax, dword [esp + 0x10]
mov dword [eax + 0xe0], ebp
jmp 0x411fea
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xe0], ebx
mov esi, dword [esp + 0x10]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ebx, [esi + 0x234]
lea edx, [esi + 0x10c]
push ebx
push 0x10
push edx
push 0x4206f4
push str.AuthTcpIp
push str.ICGAUTHCLIENT
call ebp
push ebx
lea eax, [esp + 0x18]
push 5
push eax
push str.2223
push str.AuthTcpPort
push str.ICGAUTHCLIENT
call ebp
lea ecx, [esp + 0x14]
push ecx
call edi
add esp, 4
lea edx, [esi + 0x11c]
mov word [esi + 0x108], ax
push ebx
push 0x10
push edx
push 0x4206f4
push str.HeartUdpIp
push str.ICGAUTHCLIENT
call ebp
push ebx
lea eax, [esp + 0x18]
push 5
push eax
push str.2229
push str.HeartUdpPort
push str.ICGAUTHCLIENT
call ebp
lea ecx, [esp + 0x14]
push ecx
call edi
add esp, 4
mov word [esi + 0x10a], ax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret