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

Disassembly:
push 0xffffffffffffffff
push 0x86b5c9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5e8
mov eax, dword [0x98b454]
push ebx
push ebp
push esi
push edi
xor edi, edi
mov ebp, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
push 1
mov dword [esp + 0x604], edi
call fcn.00452120
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xa0]
add esp, 4
xor esi, esi
cmp eax, edi
mov dword [esp + 0x48], 1
mov dword [esp + 0x4c], edi
jle 0x5006f6
lea ebx, [ebp + 0x9c]
mov ecx, dword [ebx]
mov eax, dword [ecx + esi*4]
push eax
call fcn.00451f60
mov edx, dword [ebx]
add esp, 4
mov dword [esp + 0x30], eax
mov ecx, 0x9ce3b8
mov eax, dword [edx + esi*4]
push eax
call fcn.005239e0
cmp eax, edi
jne 0x500541
cmp dword [esp + 0x30], edi
je 0x500531
cmp dword [esp + 0x54], edi
jne 0x500541
push 1
push esi
mov ecx, ebx
call fcn.0061f980
dec esi
jmp 0x5006e7
cmp dword [ebp + 0x98], edi
jne 0x500cb2
cmp eax, edi
je 0x500557
mov dword [esp + 0x48], edi
jmp 0x500565
cmp dword [esp + 0x30], edi
je 0x500565
mov dword [esp + 0x4c], 1
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x5006e7
mov eax, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x9ce3b8
mov eax, dword [eax + esi*4]
push eax
call fcn.00524430
test eax, eax
je 0x5005a7
mov edx, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x9ce3b8
mov eax, dword [edx + esi*4]
push eax
call fcn.00524370
test eax, eax
jne 0x5006e7
mov edx, dword [esp + 0x28]
mov eax, dword [0x98b454]
inc edx
mov dword [esp + 0x20], 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
push 0x1050
lea ecx, [esp + 0x14]
mov byte [esp + 0x604], 3
call fcn.008325e8
cmp dword [esp + 0x18], edi
jne 0x5005ec
push 0x106e
jmp 0x500606
mov ecx, 0x9ce3b8
call fcn.00524680
test eax, eax
jne 0x500601
push 0x1091
jmp 0x500606
push 0x1090
lea ecx, [esp + 0x20]
call fcn.008325e8
mov edx, dword [ebx]
lea ecx, [esp + 0x14]
mov eax, dword [edx + esi*4]
push eax
call fcn.00832082
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
lea ecx, [esp + 0x34]
push str._s___s__s_0x_lx___
push ecx
call fcn.00826097
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1e0], edi
mov ecx, 0x10b
xor eax, eax
lea edi, [esp + 0x1e4]
add esp, 0x18
rep stosd dword es:[edi], eax
push edx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1dc], 2
call fcn.00617650
mov eax, dword [eax]
push 0x207
push eax
lea eax, [esp + 0x1f0]
push eax
call fcn.005fc3ce
add esp, 0xc
lea ecx, [esp + 0x38]
call fcn.00617ec0
lea ecx, [esp + 0x1c8]
push ecx
mov ecx, 0x9ce768
call fcn.005611f0
push 1
push esi
mov ecx, ebx
call fcn.0061f980
lea ecx, [esp + 0x14]
dec esi
mov byte [esp + 0x600], 2
call fcn.00831eeb
lea ecx, [esp + 0x1c]
mov byte [esp + 0x600], 1
call fcn.00831eeb
lea ecx, [esp + 0x10]
mov byte [esp + 0x600], 0
call fcn.00831eeb
xor edi, edi
mov eax, dword [ebp + 0xa0]
inc esi
cmp esi, eax
jl 0x5004ff
cmp dword [ebp + 0xa0], edi
jne 0x50088a
mov eax, dword [esp + 0x28]
cmp eax, 1
jne 0x50076c
mov edx, dword [0x98b454]
mov dword [esp + 0x10], edx
push 0x104a
lea ecx, [esp + 0x14]
mov byte [esp + 0x604], 4
call fcn.008325e8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
push 0x11010
push eax
push ecx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x10]
mov byte [esp + 0x600], 0
call fcn.00831eeb
mov dword [esp + 0x600], 0xffffffff
jmp 0x50119b
mov eax, dword [0x98b454]
jle 0x50080c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
push 0x119b
lea ecx, [esp + 0x14]
mov byte [esp + 0x604], 6
call fcn.008325e8
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.00826097
add esp, 0xc
lea ecx, [esp + 0x14]
push 0x104a
call fcn.008325e8
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
push 0x11010
push edx
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x10]
mov byte [esp + 0x600], 5
call fcn.00831eeb
lea ecx, [esp + 0x14]
mov byte [esp + 0x600], 0
call fcn.00831eeb
mov dword [esp + 0x600], 0xffffffff
jmp 0x50119b
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
push 0x11d6
lea ecx, [esp + 0x18]
mov byte [esp + 0x604], 8
call fcn.008325e8
push 0x1048
lea ecx, [esp + 0x14]
call fcn.008325e8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0x11040
push ecx
push edx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x10]
mov byte [esp + 0x600], 7
call fcn.00831eeb
lea ecx, [esp + 0x14]
mov byte [esp + 0x600], 0
call fcn.00831eeb
mov dword [esp + 0x600], 0xffffffff
jmp 0x50119b
cmp dword [ebp + 0x6c], edi
jne 0x50089f
mov dword [esp + 0x600], 0xffffffff
jmp 0x50119b
cmp dword [0x9dce80], edi
je 0x5008c0
push str.CSDDecryptManager::Decrypt_pwd_ctrl
push 0x932da8
push 1
push 0x9dc5ec
call fcn.006600d0
add esp, 0x10
push edi
mov ecx, 0x9bee18
call fcn.00496b70
test eax, eax
jne 0x5009ef
mov ecx, 0x9c0250
call fcn.004d8b80
test eax, eax
jne 0x500bcc
mov eax, dword [0x8ab26c]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x1c]
mov bl, 9
push ecx
mov ecx, 0x9ce3b8
mov byte [esp + 0x604], bl
call fcn.00525fd0
test eax, eax
je 0x50091c
mov ecx, 0x9ce3b8
call fcn.00526020
test eax, eax
je 0x500be7
mov ecx, 0x9ce3b8
call fcn.00527830
test eax, eax
jne 0x50093c
mov ecx, 0x9c0250
call fcn.004d8c30
test eax, eax
je 0x5009de
push edi
lea ecx, [esp + 0xe8]
call fcn.0053a600
lea edx, [esp + 0xe4]
lea ecx, [esp + 0xe4]
mov byte [esp + 0x600], 0xa
mov dword [esp + 0x1c4], 0x23e7
mov dword [ebp + 0x70], edx
call fcn.0082d6b2
cmp eax, 1
jne 0x500c31
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x600], 0x12
call fcn.00636c90
lea ecx, [esp + 0x1b8]
mov byte [esp + 0x600], 0x11
call fcn.00831eeb
lea ecx, [esp + 0x17c]
mov byte [esp + 0x600], 0x10
call fcn.0083cbdc
lea ecx, [esp + 0x140]
mov byte [esp + 0x600], 0xf
call fcn.0083c945
lea ecx, [esp + 0xe4]
mov byte [esp + 0x600], bl
call fcn.0082d1f8
mov byte [esp + 0x600], 0
lea ecx, [esp + 0x1c]
call fcn.00617ec0
mov ecx, ebp
mov dword [ebp + 0x70], edi
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
mov ecx, dword [0x98b454]
mov dword [esp + 0x34], ecx
mov edx, dword [0x8ab26c]
mov dword [esp + 0x2c], edx
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x40]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x68], eax
lea edx, [esp + 0x5c]
lea eax, [esp + 0x28]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
lea edx, [esp + 0x44]
lea eax, [esp + 0x34]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], eax
or ebx, 0xffffffff
lea edx, [esp + 0x58]
lea eax, [esp + 0x60]
mov dword [esp + 0x90], ecx
mov ecx, ebp
mov byte [esp + 0x600], 0x14
mov dword [esp + 0x40], 1
mov dword [esp + 0x3c], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x50], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], ebp
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
push edi
lea ecx, [esp + 0x98]
call fcn.00576ff0
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x604], 0x15
call fcn.00577680
push edi
push 1
lea edx, [esp + 0x6c]
push 1
push edx
push 0x5023b0
lea ecx, [esp + 0xa8]
mov dword [esp + 0xac], 1
call fcn.00577110
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x94]
call fcn.00577640
test eax, eax
jne 0x50115e
mov edx, dword [esp + 0x50]
xor esi, esi
cmp edx, 0x7fffffff
je 0x500b33
mov eax, dword [ebp + 0xa0]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jne 0x500b40
cmp ecx, edi
jle 0x500b40
mov esi, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x40], esi
cmp dword [esp + 0x48], edi
je 0x500cc2
cmp dword [esp + 0x60], edi
jne 0x500cc2
mov eax, dword [0x98b454]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
push 0x11d6
lea ecx, [esp + 0x1c]
mov byte [esp + 0x604], 0x17
call fcn.008325e8
push 0x1048
lea ecx, [esp + 0x14]
call fcn.008325e8
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 0x11040
push eax
push ecx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x10]
mov byte [esp + 0x600], 0x16
call fcn.00831eeb
lea ecx, [esp + 0x18]
mov byte [esp + 0x600], 0x15
call fcn.00831eeb
jmp 0x50115e
push edi
mov ecx, 0x9ce188
call fcn.00507b30
mov dword [esp + 0x600], 0xffffffff
jmp 0x50119b
mov ecx, 0x9ce3b8
call fcn.00526050
lea eax, [ebp + 0x70]
mov ecx, 0x9ce188
push eax
call fcn.005079a0
mov ecx, ebp
mov esi, eax
call fcn.0045ee50
cmp esi, edi
mov byte [esp + 0x600], 0
lea ecx, [esp + 0x1c]
jne 0x5009ea
call fcn.00617ec0
mov dword [esp + 0x600], 0xffffffff
jmp 0x50119b
mov ecx, ebp
mov dword [ebp + 0x70], edi
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x600], 0xe
call fcn.00636c90
lea ecx, [esp + 0x1b8]
mov byte [esp + 0x600], 0xd
call fcn.00831eeb
lea ecx, [esp + 0x17c]
mov byte [esp + 0x600], 0xc
call fcn.0083cbdc
lea ecx, [esp + 0x140]
mov byte [esp + 0x600], 0xb
call fcn.0083c945
lea ecx, [esp + 0xe4]
mov byte [esp + 0x600], bl
call fcn.0082d1f8
lea ecx, [esp + 0x1c]
mov byte [esp + 0x600], 0
call fcn.00617ec0
mov dword [esp + 0x600], 0xffffffff
jmp 0x50119b
cmp dword [esp + 0x5c], edi
je 0x500ee5
cmp edx, edi
jg 0x500ee5
mov edx, dword [esp + 0x2c]
mov eax, dword [edx - 8]
cmp eax, edi
mov eax, dword [0x98b454]
jne 0x500de4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
push 0x109a
lea ecx, [esp + 0x1c]
mov byte [esp + 0x604], 0x1c
call fcn.008325e8
mov eax, dword [ebp + 0x9c]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x10]
push eax
call fcn.00832082
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
push eax
push ecx
call fcn.00826097
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add esp, 0xc
lea ecx, [esp + 0x1c]
push edx
push eax
push str._s___s_
push ecx
call fcn.00826097
add esp, 0x10
lea ecx, [esp + 0x20]
push 0x104a
call fcn.008325e8
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 0x11010
push edx
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x10]
mov byte [esp + 0x600], 0x1b
call fcn.00831eeb
lea ecx, [esp + 0x14]
mov byte [esp + 0x600], 0x1a
call fcn.00831eeb
lea ecx, [esp + 0x18]
mov byte [esp + 0x600], 0x19
call fcn.00831eeb
lea ecx, [esp + 0x20]
mov byte [esp + 0x600], 0x18
call fcn.00831eeb
lea ecx, [esp + 0x1c]
mov byte [esp + 0x600], 0x15
call fcn.00831eeb
jmp 0x50115e
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
push 0x1099
lea ecx, [esp + 0x1c]
mov byte [esp + 0x604], 0x21
call fcn.008325e8
mov ecx, dword [ebp + 0x9c]
mov edx, dword [esp + 0x44]
mov eax, dword [ecx + edx*4]
lea ecx, [esp + 0x10]
push eax
call fcn.00832082
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x18]
push eax
push ecx
lea eax, [esp + 0x1c]
push edx
push eax
call fcn.00826097
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add esp, 0x10
lea eax, [esp + 0x1c]
push ecx
push edx
push str._s___s_
push eax
call fcn.00826097
add esp, 0x10
lea ecx, [esp + 0x20]
push 0x104a
call fcn.008325e8
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push 0x11010
push ecx
push edx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x10]
mov byte [esp + 0x600], 0x20
call fcn.00831eeb
lea ecx, [esp + 0x14]
mov byte [esp + 0x600], 0x1f
call fcn.00831eeb
lea ecx, [esp + 0x18]
mov byte [esp + 0x600], 0x1e
call fcn.00831eeb
lea ecx, [esp + 0x20]
mov byte [esp + 0x600], 0x1d
call fcn.00831eeb
lea ecx, [esp + 0x1c]
mov byte [esp + 0x600], 0x15
call fcn.00831eeb
jmp 0x50115e
lea eax, [ebp + 0x9c]
mov ecx, 0x9ce3b8
push eax
call fcn.00527240
mov eax, dword [esp + 0x40]
cmp eax, edi
mov eax, dword [esp + 0x20]
je 0x500f91
cmp eax, edi
jne 0x500f99
mov eax, dword [0x98b454]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
push 0x1048
lea ecx, [esp + 0x14]
mov byte [esp + 0x604], 0x23
call fcn.008325e8
cmp esi, edi
je 0x500f3c
push 0x11dc
jmp 0x500f41
push 0x104f
lea ecx, [esp + 0x1c]
call fcn.008325e8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0x11040
push ecx
push edx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x10]
mov byte [esp + 0x600], 0x22
call fcn.00831eeb
lea ecx, [esp + 0x18]
mov byte [esp + 0x600], 0x15
call fcn.00831eeb
jmp 0x50115e
cmp eax, edi
je 0x50104c
mov eax, dword [0x98b454]
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], eax
mov bl, 0x25
push 0x104a
lea ecx, [esp + 0x18]
mov byte [esp + 0x604], bl
call fcn.008325e8
cmp dword [esp + 0x28], 1
jle 0x50100a
mov eax, dword [0x98b454]
mov dword [esp + 0x10], eax
push 0x119b
lea ecx, [esp + 0x14]
mov byte [esp + 0x604], 0x26
call fcn.008325e8
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
call fcn.00826097
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x600], bl
call fcn.00831eeb
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
push 0x11010
push ecx
push edx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x14]
mov byte [esp + 0x600], 0x24
call fcn.00831eeb
mov byte [esp + 0x600], 0x15
lea ecx, [esp + 0x38]
jmp 0x501156
mov eax, dword [0x98b454]
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], eax
mov bl, 0x29
push 0x104a
lea ecx, [esp + 0x34]
mov byte [esp + 0x604], bl
call fcn.008325e8
cmp dword [esp + 0x28], 2
jge 0x5010e3
cmp dword [ebp + 0xa0], 1
jne 0x5010e3
cmp dword [esp + 0x4c], edi
jne 0x5010e3
push 0x1050
lea ecx, [esp + 0x24]
call fcn.008325e8
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.00517a20
add esp, 8
mov edx, dword [eax]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
lea edx, [esp + 0x20]
push str._s___s__s__
push edx
mov byte [esp + 0x614], 0x2a
call fcn.00826097
add esp, 0x14
lea ecx, [esp + 0x38]
mov byte [esp + 0x600], bl
call fcn.00831eeb
jmp 0x501108
push 0x119b
lea ecx, [esp + 0x24]
call fcn.008325e8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push eax
lea edx, [esp + 0x18]
push ecx
push edx
call fcn.00826097
add esp, 0xc
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
push 0x11010
push eax
push ecx
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebp
mov dword [ebp + 0x1c], edi
call fcn.0045ee50
lea ecx, [esp + 0x20]
mov byte [esp + 0x600], 0x28
call fcn.00831eeb
lea ecx, [esp + 0x30]
mov byte [esp + 0x600], 0x27
call fcn.00831eeb
mov byte [esp + 0x600], 0x15
lea ecx, [esp + 0x14]
call fcn.00831eeb
or ebx, 0xffffffff
lea ecx, [esp + 0x94]
mov byte [esp + 0x600], 0x14
call fcn.005770b0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x600], 0x13
call fcn.00617ec0
lea ecx, [esp + 0x34]
mov byte [esp + 0x600], 0
call fcn.00831eeb
mov dword [esp + 0x600], ebx
lea ecx, [esp + 0x24]
call fcn.00831eeb
mov ecx, dword [esp + 0x5f8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5f4
ret