Function at 0x473a08
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x498e9f
call fcn.00497a30
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 0x473a2e
mov eax, dword [edi + 8]
jmp 0x473a31
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 0x473a62
mov ebx, dword [ebx + 0x2c]
jmp 0x473a65
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 0x473aa9
mov eax, dword [eax + 0x2c]
jmp 0x473aac
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 0x473ae5
mov eax, dword [eax + 0x2c]
jmp 0x473ae8
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.00484141
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 0x473b2e
mov eax, dword [eax + 0x2c]
jmp 0x473b31
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.00484141
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 0x473b7a
mov eax, dword [eax + 0x2c]
jmp 0x473b7d
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 0x473c02
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473c02
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 0x473c02
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473c02
mov byte [esi + 0xb4], 1
jmp 0x473c09
mov byte [esi + 0xb4], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x473c17
mov eax, dword [eax + 0x2c]
jmp 0x473c1a
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 0x473c9f
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473c9f
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 0x473c9f
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473c9f
mov byte [esi + 0xb5], 0
jmp 0x473ca6
mov byte [esi + 0xb5], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x473cb4
mov eax, dword [eax + 0x2c]
jmp 0x473cb7
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 0x473d3c
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473d3c
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 0x473d3c
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473d3c
mov byte [esi + 0xb6], 0
jmp 0x473d43
mov byte [esi + 0xb6], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x473d51
mov eax, dword [eax + 0x2c]
jmp 0x473d54
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 0x473dd9
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473dd9
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 0x473dd9
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473dd9
mov byte [esi + 0xb7], 0
jmp 0x473de0
mov byte [esi + 0xb7], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x473dee
mov eax, dword [eax + 0x2c]
jmp 0x473df1
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 0x473e76
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473e76
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 0x473e76
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473e76
mov byte [esi + 0xb8], 0
jmp 0x473e7d
mov byte [esi + 0xb8], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x473e8b
mov eax, dword [eax + 0x2c]
jmp 0x473e8e
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 0x473f13
lea eax, [ebp - 0xa04]
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473f13
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 0x473f13
lea eax, [ebp - 0xa04]
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x473f13
mov byte [esi + 0xb9], 0
jmp 0x473f1a
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 0x473f49
mov eax, dword [eax + 0x2c]
jmp 0x473f4c
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 0x474115
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.00483141
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 1
call fcn.0048301b
pop ecx
pop ecx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0
call fcn.004833a3
lea ecx, [ebp - 0x2c]
call fcn.00402ee5
cmp eax, 3
jb 0x474109
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x473fd0
mov eax, dword [eax + 8]
jmp 0x473fd3
add eax, 8
push 0x4a5450
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47404e
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x473ff3
mov eax, dword [eax + 8]
jmp 0x473ff6
add eax, 8
push 0x4a5908
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47404e
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474016
mov eax, dword [eax + 8]
jmp 0x474019
add eax, 8
push str.1_la
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
je 0x47404e
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474039
mov eax, dword [eax + 8]
jmp 0x47403c
add eax, 8
push 0x4a4f04
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474055
mov byte [esi + 0xba], 1
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x40], 0x10
jb 0x474063
mov eax, dword [eax + 0x2c]
jmp 0x474066
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 0x474090
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 0x47409e
mov eax, dword [eax + 0x50]
jmp 0x4740a1
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 0x4740cb
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 0x4740eb
jl 0x4740df
cmp dword [esi + 0xe8], eax
jae 0x4740eb
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], eax
cmp dword [esi + 0xe4], eax
jg 0x474109
jl 0x4740fd
cmp dword [esi + 0xe0], eax
jae 0x474109
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00403093
mov eax, dword [ebp + 8]
or dword [ebp - 0x14], 0xffffffff
cmp dword [eax + 0x40], 0x10
jb 0x474127
mov eax, dword [eax + 0x2c]
jmp 0x47412a
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 0x474169
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 0x474180
mov eax, dword [eax + 0x2c]
jmp 0x474183
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 0x4741cc
mov eax, dword [eax + 0x2c]
jmp 0x4741cf
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 0x47420e
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 0x474229
mov eax, dword [eax + 0x2c]
jmp 0x47422c
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 0x47426f
mov ecx, eax
test ecx, ecx
jg 0x474276
or ecx, 0xffffffff
mov eax, dword [ebp + 8]
and dword [ebp - 0x10], 0
mov dword [esi + 0xbc], ecx
cmp dword [eax + 0x40], 0x10
jb 0x47428e
mov eax, dword [eax + 0x2c]
jmp 0x474291
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 0x4742d5
mov eax, 0x5f5e100
test eax, eax
jge 0x4742db
xor eax, eax
and dword [ebp - 0x10], 0
mov dword [esi + 0xc0], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4742f3
mov eax, dword [eax + 0x2c]
jmp 0x4742f6
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 0x47433a
mov eax, 0x5f5e100
test eax, eax
jge 0x474340
xor eax, eax
and dword [ebp - 0x10], 0
mov dword [esi + 0xc4], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474358
mov eax, dword [eax + 0x2c]
jmp 0x47435b
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 0x47439f
mov eax, 0xf423f
test eax, eax
jge 0x4743a5
xor eax, eax
and dword [ebp - 0x10], 0
mov dword [esi + 0xcc], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x4743bd
mov eax, dword [eax + 0x2c]
jmp 0x4743c0
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 0x474404
mov eax, 0xf423f
test eax, eax
jge 0x47440a
xor eax, eax
or dword [ebp - 0x10], 0xffffffff
mov dword [esi + 0xd0], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x474422
mov eax, dword [eax + 0x2c]
jmp 0x474425
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 0x47446a
mov dword [ebp - 0x10], 0x1869f
cmp dword [ebp - 0x10], 0
jge 0x474474
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 0x4744a9
mov eax, dword [eax + 0x2c]
jmp 0x4744ac
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 0x47472d
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.00483141
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 3
call fcn.0048301b
pop ecx
pop ecx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.004833a3
lea ecx, [ebp - 0x2c]
call fcn.00402ee5
cmp eax, 4
jb 0x474721
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474534
mov eax, dword [eax + 8]
jmp 0x474537
add eax, 8
push str.FilesPerSession
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474558
mov dword [esi + 0x104], 1
jmp 0x474611
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474566
mov eax, dword [eax + 8]
jmp 0x474569
add eax, 8
push str.BytesPerSession
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x47458a
mov dword [esi + 0x104], 2
jmp 0x474611
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x474598
mov eax, dword [eax + 8]
jmp 0x47459b
add eax, 8
push str.BytesOverall
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x4745b9
mov dword [esi + 0x104], 4
jmp 0x474611
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x4745c7
mov eax, dword [eax + 8]
jmp 0x4745ca
add eax, 8
push str.FilesOverall
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x4745e8
mov dword [esi + 0x104], 3
jmp 0x474611
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1c], 0x10
jb 0x4745f6
mov eax, dword [eax + 8]
jmp 0x4745f9
add eax, 8
push str.None
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x474611
and dword [esi + 0x104], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x40], 0x10
jb 0x47461f
mov eax, dword [eax + 0x2c]
jmp 0x474622
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 0x474643
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xd4], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x64], 0x10
jb 0x474651
mov eax, dword [eax + 0x50]
jmp 0x474654
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 0x474675
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xd8], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x88], 0x10
jb 0x474686
mov eax, dword [eax + 0x74]
jmp 0x474689
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 0x4746aa
mov eax, dword [ebp - 0x40]
mov dword [esi + 0xdc], eax
mov eax, 0x1869f
cmp dword [esi + 0xd4], eax
jle 0x4746bd
mov dword [esi + 0xd4], eax
xor ecx, ecx
cmp dword [esi + 0xd4], ecx
jge 0x4746cd
mov dword [esi + 0xd4], ecx
cmp dword [esi + 0xd8], eax
jle 0x4746db
mov dword [esi + 0xd8], eax
cmp dword [esi + 0xd8], ecx
jge 0x4746e9
mov dword [esi + 0xd8], ecx
fld dword [esi + 0xdc]
fcomp qword [0x4a7e48]
fnstsw ax
test ah, 5
jp 0x474704
fldz
fstp dword [esi + 0xdc]
fld dword [0x4a7e40]
fcom dword [esi + 0xdc]
fnstsw ax
test ah, 5
jp 0x47471f
fstp dword [esi + 0xdc]
jmp 0x474721
fstp st(0)
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00403093
mov eax, dword [ebp + 8]
cmp dword [eax + 0x40], 0x10
jb 0x47473b
mov eax, dword [eax + 0x2c]
jmp 0x47473e
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 0x47477e
mov dword [esi + 0xfc], 1
jmp 0x4747ea
lea eax, [ebp - 0xa04]
push str.Domain
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x4747a2
mov dword [esi + 0xfc], 3
jmp 0x4747ea
lea eax, [ebp - 0xa04]
push str.Group
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x4747c6
mov dword [esi + 0xfc], 2
jmp 0x4747ea
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 0x4747f8
mov eax, dword [eax + 0x2c]
jmp 0x4747fb
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 0x47483b
mov dword [esi + 0x100], 1
jmp 0x47485e
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.00402f3b
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 0x4748aa
mov eax, dword [eax + 0x2c]
jmp 0x4748ad
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 0x474978
movsx eax, byte [ebp - 0xa04]
push eax
call dword [sym.imp.MSVCR71.dll_toupper]
pop ecx
lea ecx, [ebp - 0x64]
call fcn.00483124
lea eax, [ebp - 0xa04]
push eax
mov dword [ebp - 4], 4
call sub.MSVCR71.dll_strlen
cmp eax, 2
pop ecx
jbe 0x474964
cmp byte [ebp - 0xa04], 0x41
je 0x474917
cmp byte [ebp - 0xa04], 0x44
jne 0x474964
cmp byte [ebp - 0xa03], 0x7c
jne 0x474964
mov eax, dword [ebp - 0x64]
push 0x4a7ce8
lea ecx, [ebp - 0x64]
call dword [eax + 8]
cmp byte [ebp - 0xa04], 0x44
jne 0x474945
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.00402efb
inc dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.004833a3
jmp 0x474882
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.00402f3b
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 0x4749c4
mov eax, dword [eax + 0x2c]
jmp 0x4749c7
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 0x474a5e
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 0x474a28
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 0x4749f5
lea eax, [ebp - 0xa04]
push eax
lea ecx, [ebp - 0x64]
call fcn.00483141
push eax
lea ecx, [esi + 0x138]
mov dword [ebp - 4], 5
call fcn.00402efb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.004833a3
inc dword [ebp - 0x10]
jmp 0x47499c
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.00402f3b
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 0x474aaa
mov eax, dword [eax + 0x2c]
jmp 0x474aad
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 0x474b0d
lea eax, [ebp - 0xa04]
push eax
lea ecx, [ebp - 0x204]
call fcn.00483141
push eax
lea ecx, [esi + 0x108]
mov dword [ebp - 4], 6
call fcn.00402efb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x204]
call fcn.004833a3
inc dword [ebp - 0x10]
jmp 0x474a82
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x1c], 0x10
jb 0x474b1b
mov eax, dword [eax + 8]
jmp 0x474b1e
add eax, 8
mov ecx, dword [ebp + 8]
push eax
push dword [ebp + 0x10]
add esi, 0x128
call fcn.0047004d
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc