Function at 0x474017
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x49911f
call fcn.00497cb0
sub esp, 0x9f8
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
cmp dword [edi + 0x1c], 0x10
mov esi, ecx
jb 0x47403d
mov eax, dword [edi + 8]
jmp 0x474040
lea eax, [edi + 8]
push dword [ebp + 0x10]
push eax
push 0x4a7d00
lea eax, [ebp - 0x1e0]
push str._s_s_d
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
mov eax, dword [esi]
add esp, 0x14
push edi
mov ecx, esi
call dword [eax + 0xc]
cmp dword [ebx + 0x40], 0x10
jb 0x474071
mov ebx, dword [ebx + 0x2c]
jmp 0x474074
add ebx, 0x2c
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push ebx
mov ebx, 0x800
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
push str.Password
lea eax, [ebp - 0x1e0]
push eax
call edi
lea ecx, [esi + 0x24]
mov eax, dword [ecx]
lea edx, [ebp - 0xa04]
push edx
call dword [eax + 8]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4740b8
mov eax, dword [eax + 0x2c]
jmp 0x4740bb
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
push str.SKEYValues
lea eax, [ebp - 0x1e0]
push eax
call edi
lea ecx, [esi + 0x48]
mov eax, dword [ecx]
lea edx, [ebp - 0xa04]
push edx
call dword [eax + 8]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4740f4
mov eax, dword [eax + 0x2c]
jmp 0x4740f7
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
push str.HomeDir
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push eax
call fcn.0048437b
pop ecx
lea ecx, [esi + 0x6c]
mov eax, dword [ecx]
lea edx, [ebp - 0xa04]
push edx
call dword [eax + 8]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47413d
mov eax, dword [eax + 0x2c]
jmp 0x474140
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
push str.LoginMesFile
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push eax
call fcn.0048437b
pop ecx
lea ecx, [esi + 0x90]
mov eax, dword [ecx]
lea edx, [ebp - 0xa04]
push edx
call dword [eax + 8]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474189
mov eax, dword [eax + 0x2c]
jmp 0x47418c
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a5450
push str.Enable
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push 0x4a5450
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474211
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474211
lea eax, [ebp - 0xa04]
push str.1_la
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474211
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474211
mov byte [esi + 0xb4], 1
jmp 0x474218
mov byte [esi + 0xb4], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474226
mov eax, dword [eax + 0x2c]
jmp 0x474229
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push str.FALSE
push str.NeedSecure
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push 0x4a5450
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x4742ae
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x4742ae
lea eax, [ebp - 0xa04]
push str.1_la
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x4742ae
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x4742ae
mov byte [esi + 0xb5], 0
jmp 0x4742b5
mov byte [esi + 0xb5], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4742c3
mov eax, dword [eax + 0x2c]
jmp 0x4742c6
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push str.FALSE
push str.RelPaths
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push 0x4a5450
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47434b
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47434b
lea eax, [ebp - 0xa04]
push str.1_la
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47434b
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47434b
mov byte [esi + 0xb6], 0
jmp 0x474352
mov byte [esi + 0xb6], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474360
mov eax, dword [eax + 0x2c]
jmp 0x474363
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push str.FALSE
push str.HideHidden
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push 0x4a5450
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x4743e8
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x4743e8
lea eax, [ebp - 0xa04]
push str.1_la
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x4743e8
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x4743e8
mov byte [esi + 0xb7], 0
jmp 0x4743ef
mov byte [esi + 0xb7], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4743fd
mov eax, dword [eax + 0x2c]
jmp 0x474400
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push str.FALSE
push str.AlwaysAllowLogin
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push 0x4a5450
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474485
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474485
lea eax, [ebp - 0xa04]
push str.1_la
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474485
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474485
mov byte [esi + 0xb8], 0
jmp 0x47448c
mov byte [esi + 0xb8], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47449a
mov eax, dword [eax + 0x2c]
jmp 0x47449d
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push str.FALSE
push str.ChangePassword
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push 0x4a5450
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474522
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474522
lea eax, [ebp - 0xa04]
push str.1_la
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474522
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x474522
mov byte [esi + 0xb9], 0
jmp 0x474529
mov byte [esi + 0xb9], 1
xor eax, eax
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], eax
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], eax
mov eax, dword [ebp + 8]
mov byte [esi + 0xba], 0
cmp dword [eax + 0x40], 0x10
jb 0x474558
mov eax, dword [eax + 0x2c]
jmp 0x47455b
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
push str.DiskQuota
lea eax, [ebp - 0x1e0]
push eax
call edi
cmp byte [ebp - 0xa04], 0
je 0x474724
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0xa04]
push eax
lea ecx, [ebp - 0x64]
call fcn.00483361
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 1
call fcn.0048323b
pop ecx
pop ecx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0
call fcn.004835c3
lea ecx, [ebp - 0x2c]
call fcn.00402f23
cmp eax, 3
jb 0x474718
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x4745df
mov eax, dword [eax + 8]
jmp 0x4745e2
add eax, 8
push 0x4a5450
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47465d
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474602
mov eax, dword [eax + 8]
jmp 0x474605
add eax, 8
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47465d
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474625
mov eax, dword [eax + 8]
jmp 0x474628
add eax, 8
push str.1_la
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47465d
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474648
mov eax, dword [eax + 8]
jmp 0x47464b
add eax, 8
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474664
mov byte [esi + 0xba], 1
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x40], 0x10
jb 0x474672
mov eax, dword [eax + 0x2c]
jmp 0x474675
add eax, 0x2c
lea ecx, [ebp - 0x3c]
push ecx
push str._I64d
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x47469f
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0xe8], eax
mov eax, dword [ebp - 0x38]
mov dword [esi + 0xec], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x64], 0x10
jb 0x4746ad
mov eax, dword [eax + 0x50]
jmp 0x4746b0
add eax, 0x50
lea ecx, [ebp - 0x3c]
push ecx
push str._I64d
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x4746da
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0xe0], eax
mov eax, dword [ebp - 0x38]
mov dword [esi + 0xe4], eax
xor eax, eax
cmp dword [esi + 0xec], eax
jg 0x4746fa
jl 0x4746ee
cmp dword [esi + 0xe8], eax
jae 0x4746fa
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], eax
cmp dword [esi + 0xe4], eax
jg 0x474718
jl 0x47470c
cmp dword [esi + 0xe0], eax
jae 0x474718
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004030d1
mov eax, dword [ebp + 8]
or dword [ebp - 0x14], 0xffffffff
cmp dword [eax + 0x40], 0x10
jb 0x474736
mov eax, dword [eax + 0x2c]
jmp 0x474739
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4924
push str.Expire
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xa04]
push 0x4a4dbc
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp dword [ebp - 0x14], 0
jge 0x474778
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xf0], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47478f
mov eax, dword [eax + 0x2c]
jmp 0x474792
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push str.Delete
push str.ExpirationType
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push str.Disable
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
neg eax
sbb eax, eax
inc eax
mov dword [esi + 0xf8], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
pop ecx
pop ecx
jb 0x4747db
mov eax, dword [eax + 0x2c]
jmp 0x4747de
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4924
push str.PasswordLastChange
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xa04]
push 0x4a4dbc
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp dword [ebp - 0x14], 0
jge 0x47481d
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
or dword [ebp - 0x10], 0xffffffff
mov dword [esi + 0xf4], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474838
mov eax, dword [eax + 0x2c]
jmp 0x47483b
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a7cfc
push str.MaxUsersLoginPerIP
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xa04]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
mov ecx, dword [ebp - 0x10]
mov eax, 0x3e7
add esp, 0xc
cmp ecx, eax
jle 0x47487e
mov ecx, eax
test ecx, ecx
jg 0x474885
or ecx, 0xffffffff
mov eax, dword [ebp + 8]
and dword [ebp - 0x10], 0
mov dword [esi + 0xbc], ecx
cmp dword [eax + 0x40], 0x10
jb 0x47489d
mov eax, dword [eax + 0x2c]
jmp 0x4748a0
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4924
push str.SpeedLimitUp
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xa04]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, 0x5f5e100
jle 0x4748e4
mov eax, 0x5f5e100
test eax, eax
jge 0x4748ea
xor eax, eax
and dword [ebp - 0x10], 0
mov dword [esi + 0xc0], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474902
mov eax, dword [eax + 0x2c]
jmp 0x474905
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4924
push str.SpeedLimitDown
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xa04]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, 0x5f5e100
jle 0x474949
mov eax, 0x5f5e100
test eax, eax
jge 0x47494f
xor eax, eax
and dword [ebp - 0x10], 0
mov dword [esi + 0xc4], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474967
mov eax, dword [eax + 0x2c]
jmp 0x47496a
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4924
push str.TimeOut
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xa04]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, 0xf423f
jle 0x4749ae
mov eax, 0xf423f
test eax, eax
jge 0x4749b4
xor eax, eax
and dword [ebp - 0x10], 0
mov dword [esi + 0xcc], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4749cc
mov eax, dword [eax + 0x2c]
jmp 0x4749cf
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4924
push str.SessionTimeOut
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xa04]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, 0xf423f
jle 0x474a13
mov eax, 0xf423f
test eax, eax
jge 0x474a19
xor eax, eax
or dword [ebp - 0x10], 0xffffffff
mov dword [esi + 0xd0], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474a31
mov eax, dword [eax + 0x2c]
jmp 0x474a34
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a7cfc
push str.MaxNrUsers
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xa04]
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp dword [ebp - 0x10], 0x1869f
jle 0x474a79
mov dword [ebp - 0x10], 0x1869f
cmp dword [ebp - 0x10], 0
jge 0x474a83
or dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x10]
fldz
and dword [esi + 0x104], 0
fstp dword [esi + 0xdc]
mov dword [esi + 0xc8], eax
xor eax, eax
inc eax
mov dword [esi + 0xd8], eax
mov dword [esi + 0xd4], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474ab8
mov eax, dword [eax + 0x2c]
jmp 0x474abb
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
push str.Ratios
lea eax, [ebp - 0x1e0]
push eax
call edi
cmp byte [ebp - 0xa04], 0
je 0x474d3c
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0xa04]
push eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 2
call fcn.00483361
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 3
call fcn.0048323b
pop ecx
pop ecx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.004835c3
lea ecx, [ebp - 0x2c]
call fcn.00402f23
cmp eax, 4
jb 0x474d30
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474b43
mov eax, dword [eax + 8]
jmp 0x474b46
add eax, 8
push str.FilesPerSession
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474b67
mov dword [esi + 0x104], 1
jmp 0x474c20
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474b75
mov eax, dword [eax + 8]
jmp 0x474b78
add eax, 8
push str.BytesPerSession
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474b99
mov dword [esi + 0x104], 2
jmp 0x474c20
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474ba7
mov eax, dword [eax + 8]
jmp 0x474baa
add eax, 8
push str.BytesOverall
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474bc8
mov dword [esi + 0x104], 4
jmp 0x474c20
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474bd6
mov eax, dword [eax + 8]
jmp 0x474bd9
add eax, 8
push str.FilesOverall
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474bf7
mov dword [esi + 0x104], 3
jmp 0x474c20
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474c05
mov eax, dword [eax + 8]
jmp 0x474c08
add eax, 8
push str.None
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474c20
and dword [esi + 0x104], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x40], 0x10
jb 0x474c2e
mov eax, dword [eax + 0x2c]
jmp 0x474c31
add eax, 0x2c
lea ecx, [ebp - 0x10]
push ecx
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x474c52
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xd4], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x64], 0x10
jb 0x474c60
mov eax, dword [eax + 0x50]
jmp 0x474c63
add eax, 0x50
lea ecx, [ebp - 0x10]
push ecx
push 0x4a4e30
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x474c84
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xd8], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x88], 0x10
jb 0x474c95
mov eax, dword [eax + 0x74]
jmp 0x474c98
add eax, 0x74
lea ecx, [ebp - 0x40]
push ecx
push 0x4a5fc0
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x474cb9
mov eax, dword [ebp - 0x40]
mov dword [esi + 0xdc], eax
mov eax, 0x1869f
cmp dword [esi + 0xd4], eax
jle 0x474ccc
mov dword [esi + 0xd4], eax
xor ecx, ecx
cmp dword [esi + 0xd4], ecx
jge 0x474cdc
mov dword [esi + 0xd4], ecx
cmp dword [esi + 0xd8], eax
jle 0x474cea
mov dword [esi + 0xd8], eax
cmp dword [esi + 0xd8], ecx
jge 0x474cf8
mov dword [esi + 0xd8], ecx
fld dword [esi + 0xdc]
fcomp qword [0x4a7e48]
fnstsw ax
test ah, 5
jp 0x474d13
fldz
fstp dword [esi + 0xdc]
fld dword [0x4a7e40]
fcom dword [esi + 0xdc]
fnstsw ax
test ah, 5
jp 0x474d2e
fstp dword [esi + 0xdc]
jmp 0x474d30
fstp st(0)
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004030d1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474d4a
mov eax, dword [eax + 0x2c]
jmp 0x474d4d
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
push str.Maintenance
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push str.System
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474d8d
mov dword [esi + 0xfc], 1
jmp 0x474df9
lea eax, [ebp - 0xa04]
push str.Domain
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474db1
mov dword [esi + 0xfc], 3
jmp 0x474df9
lea eax, [ebp - 0xa04]
push str.Group
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474dd5
mov dword [esi + 0xfc], 2
jmp 0x474df9
lea eax, [ebp - 0xa04]
push str.ReadOnly
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
neg eax
sbb eax, eax
and eax, 0xfffffffc
pop ecx
add eax, 4
pop ecx
mov dword [esi + 0xfc], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474e07
mov eax, dword [eax + 0x2c]
jmp 0x474e0a
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push str.Regular_password
push str.PasswordType
lea eax, [ebp - 0x1e0]
push eax
call edi
lea eax, [ebp - 0xa04]
push str.OTP_S_KEY_MD4
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474e4a
mov dword [esi + 0x100], 1
jmp 0x474e6d
lea eax, [ebp - 0xa04]
push str.OTP_S_KEY_MD5
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
pop ecx
inc eax
pop ecx
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x120]
mov edx, dword [esi + 0x11c]
push eax
push edx
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x118]
push eax
call fcn.00402f79
mov dword [ebp - 0x10], 1
push dword [ebp - 0x10]
lea eax, [ebp - 0x34]
push str.IPAccess
push str._s_d
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
mov eax, dword [ebp + 8]
add esp, 0x10
cmp dword [eax + 0x40], 0x10
jb 0x474eb9
mov eax, dword [eax + 0x2c]
jmp 0x474ebc
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1e0]
push eax
call edi
cmp byte [ebp - 0xa04], 0
je 0x474f87
movsx eax, byte [ebp - 0xa04]
push eax
call dword [sym.imp.MSVCR71.dll_toupper]
pop ecx
lea ecx, [ebp - 0x64]
call fcn.00483344
lea eax, [ebp - 0xa04]
push eax
mov dword [ebp - 4], 4
call sub.MSVCR71.dll_strlen
cmp eax, 2
pop ecx
jbe 0x474f73
cmp byte [ebp - 0xa04], 0x41
je 0x474f26
cmp byte [ebp - 0xa04], 0x44
jne 0x474f73
cmp byte [ebp - 0xa03], 0x7c
jne 0x474f73
mov eax, dword [ebp - 0x64]
push 0x4a7ce8
lea ecx, [ebp - 0x64]
call dword [eax + 8]
cmp byte [ebp - 0xa04], 0x44
jne 0x474f54
mov eax, dword [ebp - 0x64]
push 0x4a773c
lea ecx, [ebp - 0x64]
call dword [eax + 8]
lea eax, [ebp - 0xa02]
push eax
mov eax, dword [ebp - 0x64]
lea ecx, [ebp - 0x64]
call dword [eax + 0x14]
lea eax, [ebp - 0x64]
push eax
lea ecx, [esi + 0x118]
call fcn.00402f39
inc dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.004835c3
jmp 0x474e91
mov eax, dword [esi + 0x140]
mov edx, dword [esi + 0x13c]
push eax
push edx
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x138]
push eax
call fcn.00402f79
mov dword [ebp - 0x10], 1
push dword [ebp - 0x10]
lea eax, [ebp - 0x34]
push str.Note
push str._s_d
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
mov eax, dword [ebp + 8]
add esp, 0x10
cmp dword [eax + 0x40], 0x10
jb 0x474fd3
mov eax, dword [eax + 0x2c]
jmp 0x474fd6
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1e0]
push eax
call edi
cmp byte [ebp - 0xa04], 0
je 0x47506d
lea eax, [ebp - 0xa04]
dec eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0xa04]
push eax
call sub.MSVCR71.dll_strlen
pop ecx
mov ecx, dword [ebp - 0x18]
cmp byte [eax + ecx], 0x20
jne 0x475037
lea eax, [ebp - 0xa04]
push eax
call sub.MSVCR71.dll_strlen
pop ecx
mov ecx, dword [ebp - 0x18]
mov byte [eax + ecx], 0
cmp byte [ebp - 0xa04], 0
jne 0x475004
lea eax, [ebp - 0xa04]
push eax
lea ecx, [ebp - 0x64]
call fcn.00483361
push eax
lea ecx, [esi + 0x138]
mov dword [ebp - 4], 5
call fcn.00402f39
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.004835c3
inc dword [ebp - 0x10]
jmp 0x474fab
mov eax, dword [esi + 0x110]
mov edx, dword [esi + 0x10c]
push eax
push edx
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x108]
push eax
call fcn.00402f79
mov dword [ebp - 0x10], 1
push dword [ebp - 0x10]
lea eax, [ebp - 0x80]
push str.Access
push str._s_d
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
mov eax, dword [ebp + 8]
add esp, 0x10
cmp dword [eax + 0x40], 0x10
jb 0x4750b9
mov eax, dword [eax + 0x2c]
jmp 0x4750bc
add eax, 0x2c
push eax
push ebx
lea eax, [ebp - 0xa04]
push eax
push 0x4a4630
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x1e0]
push eax
call edi
cmp byte [ebp - 0xa04], 0
je 0x47511c
lea eax, [ebp - 0xa04]
push eax
lea ecx, [ebp - 0x204]
call fcn.00483361
push eax
lea ecx, [esi + 0x108]
mov dword [ebp - 4], 6
call fcn.00402f39
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x204]
call fcn.004835c3
inc dword [ebp - 0x10]
jmp 0x475091
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x1c], 0x10
jb 0x47512a
mov eax, dword [eax + 8]
jmp 0x47512d
add eax, 8
mov ecx, dword [ebp + 8]
push eax
push dword [ebp + 0x10]
add esi, 0x128
call fcn.0047065c
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc