Function at 0x4af790
Capabilities:
Contain obfuscated stackstrings
Log keystrokes via polling

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x585860
push eax
mov eax, 0x7cbc
mov dword fs:[0], esp
call fcn.00552f40
mov ecx, dword [0x64b2e0]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x7cd8]
mov eax, dword [ecx]
push edi
push esi
call dword [eax + 0x148]
test eax, eax
je 0x4b028f
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [0x6658f8]
push esi
push ecx
lea edx, [esp + 0x18]
xor ebx, ebx
push str._s_s.set
push edx
mov dword [esp + 0x7ce4], ebx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
push eax
call fcn.004924b0
add esp, 0x14
test eax, eax
jne 0x4af853
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push str._s_not_found
push edx
mov byte [esp + 0x7ce0], 1
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
push ebx
push eax
call fcn.004c31a0
add esp, 0x14
lea ecx, [esp + 0x14]
mov byte [esp + 0x7cd4], bl
call sub.MFC42.DLL_CString::CString
jmp 0x4b027b
mov ecx, dword [0x6658f8]
push esi
push ecx
lea edx, [esp + 0x18]
push str._s_s.grp
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
push eax
call fcn.004924b0
add esp, 0x14
test eax, eax
jne 0x4af8c3
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_3
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push str._s_not_found
push edx
mov byte [esp + 0x7ce0], 2
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
push ebx
push eax
call fcn.004c31a0
add esp, 0x14
lea ecx, [esp + 0x14]
mov byte [esp + 0x7cd4], bl
call sub.MFC42.DLL_CString::CString
jmp 0x4b027b
mov eax, dword [0x665900]
xor ecx, ecx
and eax, 0x40
or eax, ecx
je 0x4af90b
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
mov dword [eax], ebx
mov ecx, dword [0x64b2e0]
push ebx
push ebx
add ecx, 0xfc
mov byte [esp + 0x7ce0], bl
call fcn.004016c0
push eax
push 0x665f18
call fcn.00451fc0
add esp, 0x14
cmp eax, ebx
jne 0x4af926
jmp 0x4b027b
mov edx, dword [0x64b2e0]
push ebx
mov eax, dword [edx + 0xfc]
push eax
push 0x665f18
call fcn.00456f90
add esp, 0xc
push 0x598
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
cmp esi, ebx
mov byte [esp + 0x7cd4], 4
je 0x4afd8b
lea ecx, [esi + 8]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0xc]
mov byte [esp + 0x7cd4], 5
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x10]
mov byte [esp + 0x7cd4], 6
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x34]
mov byte [esp + 0x7cd4], 7
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x38]
mov byte [esp + 0x7cd4], 8
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x164]
mov byte [esp + 0x7cd4], 9
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x168]
mov byte [esp + 0x7cd4], 0xa
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x18c]
mov byte [esp + 0x7cd4], 0xb
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x190]
mov byte [esp + 0x7cd4], 0xc
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x194]
mov byte [esp + 0x7cd4], 0xd
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x198]
mov byte [esp + 0x7cd4], 0xe
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x19c]
mov byte [esp + 0x7cd4], 0xf
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x1a0]
mov byte [esp + 0x7cd4], 0x10
call sub.MFC42.DLL_CString::CString_3
mov dword [esi + 0x418], ebx
mov dword [esi + 0x41c], ebx
lea ecx, [esi + 0x420]
mov byte [esp + 0x7cd4], 0x13
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x424]
mov byte [esp + 0x7cd4], 0x14
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x428]
mov byte [esp + 0x7cd4], 0x15
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x42c]
mov byte [esp + 0x7cd4], 0x16
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x430]
mov byte [esp + 0x7cd4], 0x17
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x434]
mov byte [esp + 0x7cd4], 0x18
call sub.MFC42.DLL_CString::CString_3
mov byte [esp + 0x7cd4], 0x19
lea ecx, [esi + 0x438]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x43c]
mov byte [esp + 0x7cd4], 0x1a
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x440]
mov byte [esp + 0x7cd4], 0x1b
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x444]
mov byte [esp + 0x7cd4], 0x1c
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x448]
mov byte [esp + 0x7cd4], 0x1d
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x44c]
mov byte [esp + 0x7cd4], 0x1e
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x450]
mov byte [esp + 0x7cd4], 0x1f
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x454]
mov byte [esp + 0x7cd4], 0x20
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x458]
mov byte [esp + 0x7cd4], 0x21
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x45c]
mov byte [esp + 0x7cd4], 0x22
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x460]
mov byte [esp + 0x7cd4], 0x23
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x464]
mov byte [esp + 0x7cd4], 0x24
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x468]
mov byte [esp + 0x7cd4], 0x25
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x46c]
mov byte [esp + 0x7cd4], 0x26
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x470]
mov byte [esp + 0x7cd4], 0x27
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x474]
mov byte [esp + 0x7cd4], 0x28
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x478]
mov byte [esp + 0x7cd4], 0x29
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x47c]
mov byte [esp + 0x7cd4], 0x2a
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x480]
mov byte [esp + 0x7cd4], 0x2b
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x484]
mov byte [esp + 0x7cd4], 0x2c
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x488]
mov byte [esp + 0x7cd4], 0x2d
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x48c]
mov byte [esp + 0x7cd4], 0x2e
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x490]
mov byte [esp + 0x7cd4], 0x2f
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x494]
mov byte [esp + 0x7cd4], 0x30
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x498]
mov byte [esp + 0x7cd4], 0x31
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x49c]
mov byte [esp + 0x7cd4], 0x32
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x4a0]
mov byte [esp + 0x7cd4], 0x33
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x4a4]
mov byte [esp + 0x7cd4], 0x34
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x4a8]
mov byte [esp + 0x7cd4], 0x35
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x4ac]
mov byte [esp + 0x7cd4], 0x36
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x4b0]
mov byte [esp + 0x7cd4], 0x37
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x4b4]
mov byte [esp + 0x7cd4], 0x38
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x4b8]
mov byte [esp + 0x7cd4], 0x39
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x4bc]
mov byte [esp + 0x7cd4], 0x3a
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0x4c0]
mov byte [esp + 0x7cd4], 0x3b
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
mov byte [esp + 0x7cd4], 0x3c
mov dword [esi], 0x59ae48
call fcn.00458570
mov dword [esi + 0xa4], 0x2710
mov dword [esi + 0xa8], 0xc80
mov dword [esi + 0xac], 2
mov dword [esi + 0xb4], ebx
mov dword [esi + 0x55c], ebx
mov byte [esi + 0x504], bl
mov dword [esp + 0x1c], esi
jmp 0x4afd8f
mov dword [esp + 0x1c], ebx
push 0x598
mov byte [esp + 0x7cd8], bl
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
mov byte [esp + 0x7cd4], 0x3d
je 0x4afdcb
push ebx
push 0xc80
push 2
push 0x2710
mov ecx, eax
call fcn.004016d0
mov ebp, eax
jmp 0x4afdcd
xor ebp, ebp
push 0x598
mov byte [esp + 0x7cd8], bl
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
mov byte [esp + 0x7cd4], 0x3e
je 0x4afe0b
push ebx
push 0xc80
push 2
push 0x2710
mov ecx, eax
call fcn.004016d0
mov dword [esp + 0x14], eax
jmp 0x4afe0f
mov dword [esp + 0x14], ebx
push 0x598
mov byte [esp + 0x7cd8], bl
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
mov byte [esp + 0x7cd4], 0x3f
je 0x4afe4b
push ebx
push 0xc80
push 2
push 0x2710
mov ecx, eax
call fcn.004016d0
mov edi, eax
jmp 0x4afe4d
xor edi, edi
mov esi, dword [esp + 0x7cdc]
mov eax, dword [0x6658f8]
push esi
push eax
lea ecx, [esp + 0x18]
push str._s_s.add
push ecx
mov byte [esp + 0x7ce4], bl
mov dword [esp + 0x28], ebx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x20]
push edx
call fcn.004924b0
add esp, 0x14
test eax, eax
je 0x4afe9b
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], 1
push eax
call fcn.0052d260
add esp, 4
push esi
lea ecx, [esp + 0x14]
push str._s.set
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
push ebx
push edx
push eax
call fcn.00456f90
add esp, 0x18
lea ecx, [esp + 0x10]
push esi
push str._s.grp
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x1c]
push ebx
push edx
push ebp
call fcn.00456f90
mov eax, dword [0x6658f8]
add esp, 0x18
lea ecx, [esp + 0x10]
push esi
push eax
push str._s_s.usr
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x20]
push edx
call fcn.004924b0
add esp, 0x14
test eax, eax
je 0x4aff3b
push esi
lea eax, [esp + 0x14]
push str._s.usr
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x1c]
push ebx
push ecx
push edi
call fcn.00456f90
mov edx, dword [0x667108]
push 1
push edi
push 1
mov eax, dword [edx + 4]
push 1
push eax
call fcn.0050b2d0
add esp, 0x2c
jmp 0x4aff3d
xor edi, edi
mov eax, dword [esp + 0x7ce0]
mov dword [0x668938], ebx
cmp eax, ebx
jne 0x4aff53
mov eax, 0xcce
push ebx
push eax
lea ecx, [esp + 0x2c]
call fcn.004ae740
push 0x10
mov byte [esp + 0x7cd8], 0x40
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx eax, ax
cmp eax, ebx
je 0x4aff92
call fcn.0049c470
cmp eax, 0x63
jl 0x4aff92
mov eax, 1
mov dword [esp + 0x7bf8], eax
mov dword [esp + 0x7bf4], eax
mov edx, dword [0x6658f8]
mov ecx, dword [esp + 0x1c]
push esi
push edx
lea eax, [esp + 0x18]
push str._s_s.tab
push eax
mov dword [esp + 0x7c0c], ebx
mov dword [esp + 0xc18], ecx
mov dword [esp + 0xc14], ebp
mov dword [esp + 0xc20], edi
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004924b0
mov esi, eax
add esp, 0x14
cmp esi, ebx
je 0x4b0011
mov edx, dword [esp + 0x7cdc]
lea eax, [esp + 0x10]
push edx
push str._s.tab
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
push ebx
push ecx
push edx
call fcn.00456f90
mov eax, dword [esp + 0x2c]
add esp, 0x18
mov dword [esp + 0xc0c], eax
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CDialog::DoModal
cmp dword [esp + 0x18], ebx
je 0x4b0025
call fcn.0052d320
mov ecx, dword [esp + 0x1c]
push ebx
push ecx
call fcn.0044ff40
mov ecx, dword [esp + 0x24]
add esp, 8
cmp ecx, ebx
je 0x4b0042
mov edx, dword [ecx]
push 1
call dword [edx + 4]
push ebx
push ebp
call fcn.0044ff40
add esp, 8
cmp ebp, ebx
je 0x4b005a
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 4]
cmp edi, ebx
je 0x4b0079
cmp dword [edi + 0xcc], ebx
je 0x4b0070
push ebx
push edi
call fcn.0044ff40
add esp, 8
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx + 4]
cmp esi, ebx
je 0x4b008d
mov esi, dword [esp + 0x14]
push ebx
push esi
call fcn.0044ff40
add esp, 8
jmp 0x4b0091
mov esi, dword [esp + 0x14]
cmp esi, ebx
je 0x4b009e
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 4]
push ebx
push 0x665f18
call fcn.0044ff40
add esp, 8
lea ecx, [esp + 0x7c84]
mov byte [esp + 0x7cd4], 0x45
call fcn.00566c30
lea ecx, [esp + 0x7c38]
mov byte [esp + 0x7cd4], 0x44
call fcn.004a02a0
push fcn.0045b900
push 0x14
lea ecx, [esp + 0xc1c]
push 0x598
push ecx
mov byte [esp + 0x7ce4], 0x43
call fcn.0055302f
push sub.MFC42.DLL_CString::CString
push 0x63
lea edx, [esp + 0xa5c]
push 4
push edx
mov byte [esp + 0x7ce4], 0x42
call fcn.0055302f
lea ecx, [esp + 0xa50]
mov byte [esp + 0x7cd4], 0x41
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x698]
mov byte [esp + 0x7cd4], 0x49
call fcn.00554d00
lea ecx, [esp + 0x46c]
mov byte [esp + 0x7cd4], 0x48
call fcn.00554d00
lea ecx, [esp + 0x10c]
mov byte [esp + 0x7cd4], 0x47
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x108]
mov byte [esp + 0x7cd4], 0x46
call sub.MFC42.DLL_CString::CString
mov dword [esp + 0x24], 0x59fdc8
mov eax, dword [esp + 0xfc]
mov byte [esp + 0x7cd4], 0x4b
mov esi, eax
mov ecx, dword [eax]
cmp ecx, eax
mov dword [esp + 0x18], ecx
je 0x4b01ca
lea eax, [esp + 0x14]
push ebx
push eax
lea ecx, [esp + 0x20]
call fcn.0040ba50
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push ecx
push edx
lea ecx, [esp + 0x100]
call fcn.0040ba10
cmp dword [esp + 0x18], esi
jne 0x4b019a
mov eax, dword [esp + 0xfc]
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
add esp, 4
mov ecx, dword [eax]
mov byte [esp + 0x7cd4], 0x4a
cmp ecx, eax
mov esi, eax
mov dword [esp + 0x18], ecx
je 0x4b022c
lea eax, [esp + 0x1c]
push ebx
push eax
lea ecx, [esp + 0x20]
call fcn.0040ba50
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push ecx
push edx
lea ecx, [esp + 0xf4]
call fcn.0040ba10
cmp dword [esp + 0x18], esi
jne 0x4b01fc
mov eax, dword [esp + 0xf0]
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
lea ecx, [esp + 0xac]
mov byte [esp + 0x7cd4], 0x4d
call fcn.005523ea
lea ecx, [esp + 0x84]
mov byte [esp + 0x7cd4], 0x4c
call fcn.0040ba70
lea ecx, [esp + 0x24]
mov byte [esp + 0x7cd4], bl
call sub.MFC42.DLL_CDialog::CDialog
lea ecx, [esp + 0x10]
mov dword [esp + 0x7cd4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x7ccc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x7cc8
ret