Function at 0x486540
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x570462
mov eax, dword fs:[0]
push eax
sub esp, 0x660
mov eax, dword [0x5d72e0]
xor eax, esp
mov dword [esp + 0x65c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5d72e0]
xor eax, esp
push eax
lea eax, [esp + 0x674]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00518333
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x486597
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
lea ebx, [esi + 0x74]
push ebx
lea ecx, [esi + 0x7c4]
mov dword [esp + 0x680], 0
mov dword [esp + 0x24], ebx
call fcn.00514835
lea ebp, [esi + 0x78]
push ebp
lea ecx, [esi + 0x818]
call fcn.00514835
lea ecx, [esi + 0x7c]
push ecx
lea ecx, [esi + 0x86c]
call fcn.00514835
lea edx, [esi + 0x80]
push edx
lea ecx, [esi + 0x8c0]
call fcn.00514835
call fcn.0041fc60
mov edi, eax
test edi, edi
je 0x48685e
push 0
push 0
push 0
push 9
mov ecx, edi
call fcn.0041c450
push 0x100
lea ecx, [esp + 0x474]
push 0
push ecx
call fcn.00530d30
mov eax, dword [ebp]
add esp, 0xc
push 1
lea edx, [esp + 0x474]
push edx
push eax
call sub.Password.dll_EncryptStringEX
mov eax, dword [ebx]
lea ecx, [esp + 0x470]
push ecx
lea ebp, [edi + 4]
push eax
mov ecx, ebp
call fcn.004d1ea0
mov ebx, eax
test ebx, ebx
je 0x486890
push 0
lea ecx, [esp + 0x3c]
call fcn.004907e0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Exception_Error
mov byte [esp + 0x684], 1
call fcn.004019c0
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x684], 2
call fcn.004ea360
mov ecx, eax
mov byte [esp + 0x684], 1
call fcn.004ea820
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x680], 3
call fcn.00402060
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x67c], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4866de
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0xffffffff
cmp ebx, 3
ja case.default.0x4866ea
jmp dword [ebx*4 + 0x486ed0]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Login.UserNotExisted
call fcn.004019c0
lea ecx, [esp + 0x24]
push ecx
mov byte [esp + 0x684], 4
call fcn.004ea360
mov ecx, eax
mov byte [esp + 0x684], 1
call fcn.004ea820
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x680], 5
call fcn.00402060
lea ecx, [esp + 0x20]
jmp 0x486837
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
push eax
mov ecx, ebp
call fcn.004d0df0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Login.PasswdError
call fcn.004019c0
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x684], 6
call fcn.004ea360
mov ecx, eax
mov byte [esp + 0x684], 1
call fcn.004ea820
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x680], 7
call fcn.00402060
lea ecx, [esp + 0x18]
jmp 0x486837
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Login.UserIsLocked
call fcn.004019c0
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x684], 8
call fcn.004ea360
mov ecx, eax
mov byte [esp + 0x684], 1
call fcn.004ea820
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x680], 9
call fcn.00402060
lea ecx, [esp + 0x1c]
jmp 0x486837
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Login.UserIsStoped
call fcn.004019c0
lea edx, [esp + 0x28]
push edx
mov byte [esp + 0x684], 0xa
call fcn.004ea360
mov ecx, eax
mov byte [esp + 0x684], 1
call fcn.004ea820
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x680], 0xb
call fcn.00402060
lea ecx, [esp + 0x24]
mov byte [esp + 0x67c], 1
call fcn.004015d0
lea ecx, [esp + 0x38]
call fcn.005104b7
lea ecx, [esp + 0x38]
mov byte [esp + 0x67c], 0
call fcn.00490590
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [esp + 0x67c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486889
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x486ea8
mov edx, dword [esp + 0x20]
lea ecx, [edi + 0x7e8]
push edx
call fcn.00402060
lea eax, [esi + 0x78]
lea ecx, [edi + 0x7ec]
push eax
call fcn.00402060
call fcn.0041fc60
lea ebx, [eax + 4]
mov ecx, ebx
mov dword [esp + 0x14], ebx
call fcn.004d14c0
mov edi, eax
test edi, edi
je 0x486bb3
call fcn.00518333
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x48658d
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x67c], 0xc
call fcn.00518333
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x48658d
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
lea ecx, [edi + 0x68]
push ecx
lea edx, [esp + 0x20]
push 0x581fa4
push edx
mov byte [esp + 0x688], 0xd
call fcn.004020e0
add edi, 4
push edi
lea eax, [esp + 0x34]
push 0x581fa4
push eax
call fcn.004020e0
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
xor ecx, ecx
add esp, 0x18
test eax, eax
setne cl
test ecx, ecx
je 0x48658d
mov ebp, dword [esp + 0x24]
push eax
push ebp
call fcn.00530c5f
add esp, 8
test eax, eax
sete al
test al, al
mov ecx, ebx
jne 0x4869db
call fcn.004d1530
mov edi, eax
lea eax, [ebp - 0x10]
mov byte [esp + 0x67c], 0xc
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4869a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x67c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4869ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
jne 0x4868cc
jmp 0x486bb3
call fcn.004d15f0
mov ebx, dword [esp + 0x1c]
mov edi, eax
test edi, edi
je 0x486b6b
call fcn.00518333
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x48658d
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
lea ecx, [edi + 0x11c]
push ecx
lea edx, [esp + 0x1c]
push 0x581fa4
push edx
mov byte [esp + 0x688], 0xe
call fcn.004020e0
xor eax, eax
add esp, 0xc
test ebx, ebx
setne al
test eax, eax
je 0x48658d
mov ebp, dword [esp + 0x18]
push ebx
push ebp
call fcn.00530c5f
add esp, 8
test eax, eax
sete al
test al, al
jne 0x486a95
mov ecx, dword [esp + 0x14]
call fcn.004d1660
mov edi, eax
lea eax, [ebp - 0x10]
mov byte [esp + 0x67c], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486a88
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
jne 0x4869ee
jmp 0x486b67
cmp byte [edi + 0x1cc], 0
jne 0x486b5e
cmp dword [esi + 0x134], 0
je 0x486b5e
push 0
lea ecx, [esp + 0x3c]
call fcn.004907e0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
mov bl, 0xf
push str.Login.AutoLoginError
mov byte [esp + 0x684], bl
call fcn.004019c0
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x684], 0x10
call fcn.004ea360
mov ecx, eax
mov byte [esp + 0x684], bl
call fcn.004ea820
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x680], 0x11
call fcn.00402060
lea ecx, [esp + 0x14]
mov byte [esp + 0x67c], bl
call fcn.004015d0
lea ecx, [esp + 0x38]
call fcn.005104b7
lea ecx, [esp + 0x38]
mov byte [esp + 0x67c], 0xe
call fcn.00490590
lea ecx, [esp + 0x18]
call fcn.004015d0
lea ecx, [esp + 0x24]
call fcn.004015d0
lea ecx, [esp + 0x1c]
call fcn.004015d0
lea ecx, [esp + 0x28]
call fcn.004015d0
xor eax, eax
jmp 0x486ea8
lea ecx, [esp + 0x18]
call fcn.004015d0
mov ebp, dword [esp + 0x24]
lea eax, [ebp - 0x10]
mov byte [esp + 0x67c], 0xc
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x486b8f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x67c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486bb3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x2b0
lea ecx, [esp + 0xc4]
push 0
push ecx
call fcn.00530d30
lea edx, [esp + 0xd4]
push edx
mov dword [esp + 0xd0], 1
mov dword [esp + 0xd4], 8
mov dword [esp + 0xf0], 0
call fcn.004eb810
add esp, 0x10
call fcn.0041fc60
mov edi, eax
mov eax, dword [edi + 0x7e8]
add edi, 0x7e8
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
or eax, ecx
jge 0x486c26
push 0
mov ecx, edi
call fcn.00401650
mov edi, dword [edi]
push 0x40
lea eax, [esp + 0x128]
push edi
push eax
call fcn.00531840
add esp, 8
mov ecx, esp
mov dword [esp + 0x20], esp
push str.Login.Login
call fcn.004019c0
lea ecx, [esp + 0x1c]
push ecx
mov byte [esp + 0x684], 0x12
call fcn.004ea360
mov ecx, eax
mov byte [esp + 0x684], 0
call fcn.004ea820
mov edx, dword [eax]
push edx
lea eax, [esp + 0x128]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
mov bl, 0x13
push str.Log.User
mov byte [esp + 0x68c], bl
call fcn.004019c0
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x68c], 0x14
call fcn.004ea360
mov ecx, eax
mov byte [esp + 0x68c], bl
call fcn.004ea820
mov edx, dword [eax]
push edx
lea eax, [esp + 0x17c]
push str._s:_s___s
push eax
call fcn.00530c72
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486ce9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x67c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x486d11
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xc0]
push ecx
call fcn.004836c0
mov ecx, eax
call fcn.004837f0
push 0x100
lea edx, [esp + 0x374]
push 0
push edx
call fcn.00530d30
mov eax, dword [esi + 0x88]
push eax
lea ecx, [esp + 0x380]
push 0x57f5f8
push ecx
call fcn.00530c72
mov eax, dword [esi + 0x84]
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
add esp, 0x18
push eax
lea edx, [esp + 0x374]
push edx
push str.Check
push str.SystemLogin_Info
call edi
lea ecx, [esp + 0x2c]
call fcn.0049aaa0
cmp dword [esi + 0x134], 0
lea ecx, [esp + 0x2c]
setne al
mov byte [esp + 0x67c], 0x15
push eax
call fcn.0049b1c0
push 0x100
lea ecx, [esp + 0x374]
push 0
push ecx
call fcn.00530d30
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
push eax
lea eax, [esp + 0x380]
push eax
call fcn.00530c72
mov eax, dword [esi + 0x84]
add esp, 0x14
push eax
lea ecx, [esp + 0x374]
push ecx
push str.UserName
push str.SystemLogin_Info
call edi
push 0x100
lea edx, [esp + 0x374]
push 0
push edx
call fcn.00530d30
push 0x100
lea eax, [esp + 0x580]
push 0
push eax
call fcn.00530d30
mov eax, dword [esi + 0x78]
push eax
lea ecx, [esp + 0x38c]
push ecx
call fcn.00530c72
add esp, 0x20
push 1
lea edx, [esp + 0x574]
push edx
lea eax, [esp + 0x378]
push eax
call sub.Password.dll_EncryptStringEX
mov eax, dword [esi + 0x84]
push eax
lea ecx, [esp + 0x574]
push ecx
push str.Password
push str.SystemLogin_Info
call edi
call fcn.004edc20
push 0
push esi
push 0xd0
push 0
push 0
mov ecx, eax
call fcn.004edcd0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x67c], 0
call fcn.0049a910
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [esp + 0x67c], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x486ea3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x674]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x65c]
xor ecx, esp
call fcn.0053042b
add esp, 0x66c
ret