Function at 0x4cf480
Capabilities:
Log keystrokes via polling

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x588e67
push eax
mov eax, 0x2354
mov dword fs:[0], esp
call fcn.00552f40
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
xor edi, edi
cmp eax, edi
jge 0x4cf4c5
mov dword [esi + 0xd4], 1
jmp 0x4d03e4
push 0x1b5a
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
test eax, eax
jne 0x4cf4df
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xe0]
lea ecx, [esp + 0x10]
mov dword [esi + 0xd4], edi
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x10]
mov dword [esp + 0x236c], edi
push ecx
push 0x7d1
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItemTextA
lea edx, [esp + 0x10]
lea ecx, [esi + 0x108]
push edx
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esi + 0x7c]
mov cl, byte [eax + 0x545]
test cl, cl
jne 0x4cf5da
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x13c]
mov eax, dword [eax + 0x128]
push ecx
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0044dab0
mov edx, dword [esi + 0x13c]
mov eax, dword [esi + 0x7c]
push edx
push eax
call fcn.0044e4a0
add esp, 0x10
test eax, eax
jne 0x4d03d0
mov ecx, dword [esi + 0x120]
mov eax, dword [esi + 0x7c]
mov edx, dword [esi + 0x13c]
push 6
push ecx
push eax
mov eax, dword [eax + 0x128]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0048b030
add esp, 0x10
cmp eax, edi
jne 0x4cf5ac
mov eax, dword [esi + 0x7c]
mov edx, dword [esi + 0x120]
mov ecx, dword [esi + 0x13c]
push 4
push edx
mov edx, dword [eax + 0x128]
push eax
mov eax, dword [edx + ecx*4]
push eax
call fcn.0048b030
add esp, 0x10
cmp eax, edi
jle 0x4cf5b7
mov ecx, dword [esi + 0x7c]
mov dword [ecx + 0xd0], eax
mov edx, dword [esi]
push edi
push edi
push 1
mov ecx, esi
mov dword [esi + 0x334], edi
call dword [edx + 0x164]
mov dword [esi + 0x334], 1
jmp 0x4d03d0
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [esp + 0x10]
mov ebx, 8
mov edi, dword [eax - 8]
mov eax, dword [esi + 0x74]
cmp eax, ebx
jne 0x4cf602
mov dword [esi + 0x354], 0xffffffff
jmp 0x4cf614
cmp dword [esi + 0x354], edi
jg 0x4d03d0
mov dword [esi + 0x354], edi
push 0x1b5a
push esi
call fcn.00490dd0
add esp, 8
mov dword [esi + 0x334], 0
test eax, eax
mov ebp, 2
jne 0x4d0030
mov ecx, dword [esi + 0x7c]
mov al, byte [ecx + 0x4f1]
cmp al, 1
je 0x4cf668
jbe 0x4cf651
test edi, edi
jne 0x4cf651
cmp dword [esi + 0x74], ebx
je 0x4cf678
cmp al, 2
jne 0x4cf65b
cmp dword [esi + 0x74], 0x20
je 0x4cf668
cmp dword [esi + 0xd0], 1
jne 0x4d0030
cmp edi, ebp
jle 0x4cf678
cmp dword [esi + 0x120], ebp
jge 0x4cf678
push 5
jmp 0x4cf67a
push 0
push 0x1b5a
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push 0x619640
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esi + 0x7c]
mov byte [esp + 0x236c], 1
mov cl, byte [eax + 0x549]
test cl, cl
je 0x4cf71f
push 0
push str.REC_CANCEL
push eax
call fcn.0044db80
add esp, 0xc
test eax, eax
je 0x4cf6e6
mov edx, dword [esi + 0x7c]
mov ecx, dword [edx + 0x3c]
mov edx, dword [ecx + eax*4]
push edx
lea eax, [ecx + eax*4]
lea ecx, [esp + 0x20]
mov eax, edx
push eax
push str.___s__is_null_or___s__0__and
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov edx, dword [esi + 0x7c]
push 0
push str.INACTIVE
push edx
call fcn.0044db80
add esp, 0xc
test eax, eax
je 0x4cf71f
mov ecx, dword [esi + 0x7c]
mov edx, dword [ecx + 0x3c]
mov ecx, dword [edx + eax*4]
push ecx
lea eax, [edx + eax*4]
mov edx, ecx
push edx
lea eax, [esp + 0x24]
push str.___s__is_null_or___s__0__and
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xe4]
mov eax, dword [esi + 0x7c]
mov cl, byte [eax + 0x4e0]
test cl, cl
jne 0x4d001f
cmp dword [eax + 0xcc], ebp
jbe 0x4d001f
mov ecx, dword [esi + 0xb4]
test ecx, ecx
je 0x4d001f
mov edx, dword [esi + 0x13c]
mov ecx, dword [eax + 0x28]
mov edi, edx
shl edi, 5
cmp byte [edi + ecx + 0xb], 0x43
jne 0x4cfc69
cmp byte [ecx + 0x4b], 0x43
jne 0x4cfc69
add eax, 0x444
lea ecx, [esp + 0x30]
push eax
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x10]
mov byte [esp + 0x236c], 2
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4cfaca
mov ecx, dword [esi + 0x13c]
push eax
cmp ecx, 1
jle 0x4cf887
lea ecx, [esp + 0x18]
push ecx
call fcn.00460670
mov ebp, eax
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x20]
push edx
push eax
mov byte [esp + 0x237c], 3
call fcn.00460670
mov ebx, eax
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x3c]
push ecx
push edx
mov byte [esp + 0x2384], 4
call fcn.00460670
add esp, 0x18
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x13c]
mov ebp, dword [ebp]
mov eax, dword [eax]
mov edx, dword [ecx + 0x3c]
push ebp
add ecx, 0x444
mov byte [esp + 0x2370], 5
lea edi, [edx + edi*4]
mov edx, dword [edx + 8]
push edx
mov edx, dword [ebx]
push edx
mov edx, dword [edi]
push edx
push eax
mov eax, dword [esp + 0x30]
push edx
push eax
push str.where__s____s__LIKE_N___s___or___s____s_or___s__LIKE_N___s___
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x24
lea ecx, [esp + 0x2c]
mov byte [esp + 0x236c], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x236c], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x236c], 2
call sub.MFC42.DLL_CString::CString
mov dword [esi + 0xc0], 1
jmp 0x4cfb2b
lea ecx, [esp + 0x38]
push ecx
call fcn.00460670
mov ebp, eax
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x40]
push edx
push eax
mov byte [esp + 0x237c], 6
call fcn.00460670
mov ebx, eax
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x3c]
push ecx
push edx
mov byte [esp + 0x2384], 7
call fcn.00460670
add esp, 0x18
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x13c]
mov ebp, dword [ebp]
mov eax, dword [eax]
mov edx, dword [ecx + 0x3c]
push ebp
add ecx, 0x444
mov byte [esp + 0x2370], 8
lea edi, [edx + edi*4]
mov edx, dword [edx + 8]
push edx
mov edx, dword [ebx]
push edx
mov edx, dword [edi]
push edx
push eax
mov eax, dword [esp + 0x30]
push edx
push eax
push str.where__s____s____s_or___s__LIKE_N_s___or___s__LIKE_N___s___
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x24
lea ecx, [esp + 0x2c]
mov byte [esp + 0x236c], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x38]
mov byte [esp + 0x236c], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x236c], 2
call sub.MFC42.DLL_CString::CString
push 0x619640
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x7c]
mov byte [esp + 0x236c], 9
add ecx, 0x444
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x10]
mov byte [esp + 0x236c], 0xa
mov ecx, dword [eax - 8]
cmp ecx, 2
jne 0x4cf9ba
push eax
lea edx, [esp + 0x24]
push 0xa
push edx
call fcn.004455f0
mov edx, dword [esi + 0x7c]
add esp, 0xc
movsx eax, byte [esp + 0x21]
movsx ecx, byte [esp + 0x20]
mov edx, dword [edx + 0x3c]
push eax
push ecx
mov edi, dword [edx + 8]
push edi
push eax
mov eax, edi
push ecx
push eax
lea ecx, [esp + 0x2c]
push str.or___s__LIKE_N_c____c___or___s__LIKE_N_c____c__
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x20
jmp 0x4cfa55
cmp ecx, 3
jne 0x4cfa05
push eax
lea edx, [esp + 0x24]
push 0xa
push edx
call fcn.004455f0
mov edi, dword [esi + 0x7c]
add esp, 0xc
movsx eax, byte [esp + 0x22]
movsx ecx, byte [esp + 0x21]
movsx edx, byte [esp + 0x20]
mov edi, dword [edi + 0x3c]
push eax
push ecx
push edx
mov ebx, dword [edi + 8]
push ebx
push eax
push ecx
mov eax, ebx
push edx
push eax
lea ecx, [esp + 0x34]
push str.or___s__LIKE_N_c____c____c___or___s__LIKE_N_c____c____c__
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x28
jmp 0x4cfa55
cmp ecx, 4
jne 0x4cfa55
push eax
lea edx, [esp + 0x24]
push 0xa
push edx
call fcn.004455f0
movsx eax, byte [esp + 0x2f]
mov ebx, dword [esi + 0x7c]
add esp, 0xc
movsx ecx, byte [esp + 0x22]
movsx edx, byte [esp + 0x21]
movsx edi, byte [esp + 0x20]
mov ebx, dword [ebx + 0x3c]
push eax
push ecx
push edx
mov ebp, dword [ebx + 8]
push edi
push ebp
push eax
push ecx
push edx
mov eax, ebp
push edi
push eax
lea ecx, [esp + 0x3c]
push str.or___s__LIKE_N_c____c____c____c___or___s__LIKE_N_c____c____c____c__
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x30
mov edx, dword [esi + 0x7c]
mov al, byte [edx + 0x4f4]
test al, al
je 0x4cfa89
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x4cfa89
push 0x5fd204
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x1c]
call fcn.005523f6
mov ecx, dword [esi + 0x7c]
lea edx, [esp + 0x18]
push edx
add ecx, 0x444
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x18]
mov byte [esp + 0x236c], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x236c], 2
call sub.MFC42.DLL_CString::CString
mov dword [esi + 0xc0], 1
jmp 0x4cfb2b
mov ecx, dword [esi + 0x7c]
push 0x619640
add ecx, 0x444
call sub.MFC42.DLL_CString::operator_3
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x4cfb17
push 0x619640
push 0x60f7c4
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Replace_1
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi + 0x7c]
push ecx
add edx, 0x444
push str._where__s
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov eax, dword [esi]
mov ecx, esi
mov dword [esi + 0xc0], 0
call dword [eax + 0x104]
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x619640
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x7c]
mov edx, dword [ecx]
call dword [edx + 0x114]
mov eax, dword [esi + 0x7c]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx + 4]
cmp eax, 0xa
mov dword [esi + 0x148], eax
jle 0x4cfb80
push 0xb
lea ecx, [esi + 0x3fc]
mov dword [esi + 0x134], 0xa
mov dword [esi + 0x130], 9
call fcn.00554070
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xfc]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x178]
lea ecx, [esi + 0x3fc]
call fcn.00554050
mov ecx, dword [esi + 0x7c]
dec eax
mov dword [esi + 0x134], eax
dec eax
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x124]
mov edx, dword [ecx]
push eax
mov eax, dword [esi + 0x35c]
push eax
call dword [edx + 0x4c]
mov ecx, dword [esi + 0x154]
mov eax, dword [esi + 0x148]
cmp ecx, eax
jle 0x4cfbe7
mov dword [esi + 0x144], 1
mov dword [esi + 0x154], 0xffffffff
mov eax, dword [esi + 0x148]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x138]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xfc]
mov ecx, dword [esi + 0x134]
mov edx, dword [esi]
dec ecx
push 1
mov dword [esi + 0x130], ecx
push 0
push eax
mov ecx, esi
call dword [edx + 0x164]
test eax, eax
jne 0x4cfc49
mov eax, dword [esi]
push 0
push 1
push 1
push 0x10
mov ecx, esi
call dword [eax + 0x144]
mov eax, dword [esi + 0x108]
push str.IMPACT
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xe4]
mov byte [esp + 0x236c], 1
lea ecx, [esp + 0x30]
jmp 0x4d0004
push edx
push eax
call fcn.0048fc80
add esp, 8
test eax, eax
je 0x4d001f
mov ecx, dword [esi + 0x7c]
mov edx, dword [ecx + 0x28]
cmp byte [edx + 0x4b], 0x43
jne 0x4d001f
mov eax, dword [esp + 0x10]
push eax
call fcn.0044ea30
add esp, 4
test eax, eax
je 0x4d001f
mov ecx, dword [esi + 0x7c]
add ecx, 0x444
push ecx
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::CString_4
mov ebx, 0xb
lea ecx, [esp + 0x10]
mov byte [esp + 0x236c], bl
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4cff16
mov ecx, dword [esi + 0x13c]
push eax
cmp ecx, 1
jle 0x4cfd46
lea edx, [esp + 0x34]
push edx
call fcn.00460670
add esp, 8
mov ecx, dword [esi + 0x7c]
mov eax, dword [eax]
push eax
mov byte [esp + 0x2370], 0xc
mov edx, dword [ecx + 0x3c]
add ecx, 0x444
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x20]
push eax
push edx
push str.where__s____s__LIKE_N___s___
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea ecx, [esp + 0x30]
mov byte [esp + 0x236c], bl
call sub.MFC42.DLL_CString::CString
mov dword [esi + 0xc0], 1
jmp 0x4cff33
lea eax, [esp + 0x34]
push eax
call fcn.00460670
add esp, 8
mov ecx, dword [esi + 0x7c]
mov edx, dword [eax]
push edx
mov byte [esp + 0x2370], 0xd
mov eax, dword [ecx + 0x3c]
add ecx, 0x444
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x20]
push edx
push eax
push str.where__s____s__LIKE_N___s___
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea ecx, [esp + 0x30]
mov byte [esp + 0x236c], bl
call sub.MFC42.DLL_CString::CString
push 0x619640
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x7c]
mov byte [esp + 0x236c], 0xe
add ecx, 0x444
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x10]
mov byte [esp + 0x236c], 0xf
mov ecx, dword [eax - 8]
cmp ecx, ebp
jne 0x4cfe0f
push eax
lea edx, [esp + 0x24]
push 0xa
push edx
call fcn.004455f0
mov edx, dword [esi + 0x7c]
add esp, 0xc
movsx eax, byte [esp + 0x21]
movsx ecx, byte [esp + 0x20]
mov edx, dword [edx + 0x3c]
push eax
push ecx
mov edi, dword [edx + 8]
push edi
push eax
mov eax, edi
push ecx
push eax
lea ecx, [esp + 0x2c]
push str.or___s__LIKE_N_c____c___or___s__LIKE_N_c____c__
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x20
jmp 0x4cfeaf
cmp ecx, 3
jne 0x4cfe5a
push eax
lea edx, [esp + 0x24]
push 0xa
push edx
call fcn.004455f0
mov edi, dword [esi + 0x7c]
add esp, 0xc
movsx eax, byte [esp + 0x22]
movsx ecx, byte [esp + 0x21]
movsx edx, byte [esp + 0x20]
mov edi, dword [edi + 0x3c]
push eax
push ecx
push edx
mov ebp, dword [edi + 8]
push ebp
push eax
push ecx
mov eax, ebp
push edx
push eax
lea ecx, [esp + 0x34]
push str.or___s__LIKE_N_c____c____c___or___s__LIKE_N_c____c____c__
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x28
jmp 0x4cfeaf
cmp ecx, 4
jne 0x4cfeaf
push eax
lea edx, [esp + 0x24]
push 0xa
push edx
call fcn.004455f0
movsx eax, byte [esp + 0x2f]
mov ebx, dword [esi + 0x7c]
add esp, 0xc
movsx ecx, byte [esp + 0x22]
movsx edx, byte [esp + 0x21]
movsx edi, byte [esp + 0x20]
mov ebp, dword [ebx + 0x3c]
push eax
push ecx
push edx
mov ebx, dword [ebp + 8]
push edi
push ebx
push eax
push ecx
push edx
mov eax, ebx
push edi
push eax
lea ecx, [esp + 0x3c]
push str.or___s__LIKE_N_c____c____c____c___or___s__LIKE_N_c____c____c____c__
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x30
mov ebx, 0xb
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 8]
test eax, eax
jle 0x4cfed6
push 0x5fd204
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::operator_1
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
call fcn.005523f6
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esi + 0x7c]
add ecx, 0x444
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x18]
mov byte [esp + 0x236c], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x236c], bl
call sub.MFC42.DLL_CString::CString
mov dword [esi + 0xc0], 1
jmp 0x4cff33
mov ecx, dword [esi + 0x7c]
push 0x619640
add ecx, 0x444
call sub.MFC42.DLL_CString::operator_3
mov dword [esi + 0xc0], 0
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x619640
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x7c]
mov edx, dword [ecx]
call dword [edx + 0x114]
mov eax, dword [esi + 0x7c]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx + 4]
cmp eax, 0xa
mov dword [esi + 0x148], eax
jle 0x4cff87
push ebx
lea ecx, [esi + 0x3fc]
mov dword [esi + 0x134], 0xa
mov dword [esi + 0x130], 9
call fcn.00554070
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xfc]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x178]
lea ecx, [esi + 0x3fc]
call fcn.00554050
mov ecx, dword [esi + 0x7c]
dec eax
mov dword [esi + 0x134], eax
dec eax
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x124]
mov edx, dword [ecx]
push eax
mov eax, dword [esi + 0x35c]
push eax
call dword [edx + 0x4c]
mov ecx, dword [esi + 0x154]
mov eax, dword [esi + 0x148]
cmp ecx, eax
jle 0x4cffee
mov dword [esi + 0x144], 1
mov dword [esi + 0x154], 0xffffffff
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x12c]
mov byte [esp + 0x236c], 1
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x236c], 0
call sub.MFC42.DLL_CString::CString
jmp 0x4d03d0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x236c], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::TrimRight
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4d03d0
mov ecx, dword [esi + 0x7c]
mov al, byte [ecx + 0x4f1]
test al, al
je 0x4d006e
cmp dword [esi + 0x120], ebp
jge 0x4d006e
mov edx, dword [esi + 0xdc]
mov eax, dword [edx - 8]
test eax, eax
jle 0x4d006e
push 5
jmp 0x4d0070
push 0
push 0x1b5a
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [esi + 0x7c]
mov dword [esp + 0x1c], 0
mov eax, dword [ecx + 0x444]
mov edx, dword [eax - 8]
test edx, edx
jne 0x4d028a
mov edx, dword [ecx + 0x24]
cmp dword [edx + 4], 0x3e8
jle 0x4d028a
mov eax, dword [esi + 0x13c]
mov edx, dword [ecx + 0x28]
shl eax, 5
cmp byte [eax + edx + 0xb], 0x43
jne 0x4d028a
add ecx, 0x440
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x14]
mov byte [esp + 0x236c], 0x10
call sub.MFC42.DLL_CString::MakeLower
push str.order_by
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Find_2
test eax, eax
jl 0x4d010b
mov ecx, dword [esi + 0x7c]
push 1
mov eax, dword [ecx]
call dword [eax + 0xf8]
jmp 0x4d0277
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString_3
push 0x619640
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2370], 0x11
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esi + 0x7c]
mov bl, 0x12
mov byte [esp + 0x236c], bl
mov cl, byte [eax + 0x549]
test cl, cl
je 0x4d01af
push 0
push str.REC_CANCEL
push eax
call fcn.0044db80
add esp, 0xc
test eax, eax
je 0x4d0176
mov ecx, dword [esi + 0x7c]
mov edx, dword [ecx + 0x3c]
mov ecx, dword [edx + eax*4]
push ecx
lea eax, [edx + eax*4]
mov edx, ecx
push edx
lea eax, [esp + 0x20]
push str._and__a.__s__is_null_or_a.__s__0_
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov ecx, dword [esi + 0x7c]
push 0
push str.INACTIVE
push ecx
call fcn.0044db80
add esp, 0xc
test eax, eax
je 0x4d01af
mov edx, dword [esi + 0x7c]
mov ecx, dword [edx + 0x3c]
mov edx, dword [ecx + eax*4]
push edx
lea eax, [ecx + eax*4]
lea ecx, [esp + 0x1c]
mov eax, edx
push eax
push str._and__a.__s__is_null_or_a.__s__0_
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x38]
push edx
push eax
call fcn.00460670
add esp, 8
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [esi + 0x7c]
push ecx
mov ecx, dword [esi + 0x13c]
push edx
mov edx, dword [eax + 0x3c]
mov byte [esp + 0x2374], 0x13
mov eax, dword [edx + ecx*4]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
lea edx, [esp + 0x3c]
push str.select_count___from___s__a_where_a.__s_____s__s
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x18
lea ecx, [esp + 0x38]
mov byte [esp + 0x236c], bl
call sub.MFC42.DLL_CString::CString
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
mov dword [eax], 0
push 1
push ecx
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
mov byte [esp + 0x237c], 0x14
call sub.MFC42.DLL_CString::CString_4
mov byte [esp + 0x2378], bl
call fcn.0044b7d0
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x4d0255
mov ecx, dword [esi + 0x7c]
push 1
push eax
mov edx, dword [ecx]
call dword [edx + 0x9c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x236c], 0x11
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x236c], 0x10
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x236c], 0
call sub.MFC42.DLL_CString::CString
jmp 0x4d0294
mov eax, dword [ecx]
push 1
call dword [eax + 0xf8]
mov ecx, dword [esi + 0x7c]
mov edx, dword [esi + 0x13c]
mov eax, dword [ecx + 0x128]
mov ecx, dword [eax + edx*4]
lea edx, [esp + 0x3c]
push ecx
push 0x2328
push edx
call fcn.004455f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x7c]
mov edx, dword [esi + 0x13c]
push eax
mov eax, dword [ecx + 0x128]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.0044dab0
mov ebp, dword [esi + 0x7c]
mov edx, dword [esi + 0x13c]
add esp, 0x14
mov eax, dword [ebp + 0x128]
mov edx, dword [eax + edx*4]
lea eax, [esp + 0x3c]
mov edi, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x4d0312
test cl, cl
je 0x4d030e
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x4d0312
add eax, 2
add edi, 2
test cl, cl
jne 0x4d02ee
xor eax, eax
jmp 0x4d0317
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setge cl
add ecx, 0x104
mov eax, ecx
push eax
mov eax, dword [esi + 0x120]
push eax
push ebp
push edx
call fcn.0048b030
mov ecx, dword [esi + 0x7c]
add esp, 0x10
mov dword [ecx + 0xd0], eax
mov eax, dword [esi + 0x7c]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
jg 0x4d0379
mov edx, dword [esi + 0x120]
mov ecx, dword [esi + 0x13c]
push 4
push edx
mov edx, dword [eax + 0x128]
push eax
mov eax, dword [edx + ecx*4]
push eax
call fcn.0048b030
mov ecx, dword [esi + 0x7c]
add esp, 0x10
mov dword [ecx + 0xd0], eax
mov eax, dword [esi + 0x7c]
mov edx, dword [eax + 0x24]
mov ecx, dword [eax + 0xd0]
cmp ecx, dword [edx + 4]
jle 0x4d0394
mov dword [eax + 0xd0], 1
mov edx, dword [esi + 0x7c]
mov ecx, dword [esp + 0x1c]
mov eax, ecx
sub eax, dword [edx + 0xd0]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jl 0x4d03c6
test ecx, ecx
je 0x4d03c6
cmp dword [esi + 0x120], 1
jle 0x4d03d0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xe8]
jmp 0x4d03d0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xe8]
lea ecx, [esp + 0x10]
mov dword [esp + 0x236c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x2364]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2360
ret