Function at 0x497820
Capabilities:
Check os version
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5b3c7a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc0
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x28], ebx
call fcn.00496320
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_1
xor ebp, ebp
lea ecx, [esp + 0x24]
mov dword [esp + 0xd8], ebp
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x18]
mov byte [esp + 0xd8], 1
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0xe0]
lea esi, [ebx + 4]
mov ecx, esi
mov byte [esp + 0xd8], 2
lea edi, [eax + 0x15]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0xbc], edi
mov byte [esp + 0x23], 0
mov byte [esp + 0x22], 0
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x21], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x20], 0
mov dword [esp + 0x14], esi
call sub.MFC42.DLL_CString::Empty
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xfffffffe
mov dword [esp + 0x30], ebp
test ecx, ecx
jle 0x49883f
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xbc]
mov al, byte [ecx + edx]
cmp al, 0x5f
je 0x498817
cmp al, 0xd
je 0x498817
cmp al, 0x1a
jne 0x49880d
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0xd0], esp
push eax
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0xcc]
push ecx
call fcn.004d3020
add esp, 8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 3
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x2c]
test eax, eax
jl 0x497ace
cmp eax, 2
jg 0x497ace
test eax, eax
jne 0x49797d
lea edx, [esp + 0x10]
lea ecx, [ebx + 0xac]
push edx
jmp 0x49799f
cmp eax, 1
jne 0x49798f
lea eax, [esp + 0x10]
lea ecx, [ebx + 0xb0]
push eax
jmp 0x49799f
cmp eax, 2
jne 0x4979a4
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebx + 0xb4]
call sub.MFC42.DLL_CString::operator_1
push 1
push 0x59
lea ecx, [esp + 0x90]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x10]
push edx
push eax
mov byte [esp + 0xe0], 4
call esi
add esp, 8
test eax, eax
je 0x497a76
push 1
push 0x4e
lea ecx, [esp + 0xa0]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x10]
push ecx
push edx
call esi
add esp, 8
lea ecx, [esp + 0x98]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497a76
push 1
push 0x79
lea ecx, [esp + 0xb0]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call esi
add esp, 8
lea ecx, [esp + 0xa8]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497a76
push 1
push 0x6e
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
push edx
push eax
call esi
add esp, 8
lea ecx, [esp + 0x40]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497a76
mov bl, 1
jmp 0x497a78
xor bl, bl
lea ecx, [esp + 0x88]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4987ef
mov al, byte [esp + 0x23]
test al, al
jne 0x4987ef
push 0x1d
push 0x1c
lea ecx, [esp + 0x20]
push 0x6200e0
push ecx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea edx, [esp + 0x18]
push edx
call fcn.0059ba4c
mov byte [esp + 0x23], 1
jmp 0x49874a
cmp eax, 3
jne 0x497bf7
lea edx, [esp + 0x10]
lea ecx, [ebx + 0x88]
push edx
call sub.MFC42.DLL_CString::operator_1
push 1
push 0x59
lea ecx, [esp + 0x98]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov byte [esp + 0xe0], 5
call esi
add esp, 8
test eax, eax
je 0x497bb0
push 1
push 0x4e
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x10]
push edx
push eax
call esi
add esp, 8
lea ecx, [esp + 0x48]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497bb0
push 1
push 0x79
lea ecx, [esp + 0xcc]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x10]
push ecx
push edx
call esi
add esp, 8
lea ecx, [esp + 0xc4]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497bb0
push 1
push 0x6e
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call esi
add esp, 8
lea ecx, [esp + 0x50]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497bb0
mov bl, 1
jmp 0x497bb2
xor bl, bl
lea ecx, [esp + 0x90]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4987ef
push 0x1d
push 0x1c
push 0x6200c4
lea edx, [esp + 0x24]
push edx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea eax, [esp + 0x18]
push eax
call fcn.0059ba4c
jmp 0x49874a
cmp eax, 4
jl 0x497c6a
cmp eax, 0xf
jg 0x497c6a
mov eax, dword [ebx + 0xdc]
lea ecx, [ebx + 0xd4]
lea edx, [esp + 0x10]
push edx
push eax
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
mov al, byte [esp + 0x22]
test al, al
jne 0x4987ef
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 8]
cmp eax, 2
je 0x4987ef
test eax, eax
je 0x4987ef
push 0x1d
push 0x1c
lea ecx, [esp + 0x20]
push 0x6200a8
push ecx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea edx, [esp + 0x18]
push edx
call fcn.0059ba4c
mov byte [esp + 0x22], 1
jmp 0x49874a
cmp eax, 0x10
jne 0x497d6f
lea edx, [esp + 0x10]
lea ecx, [ebx + 0x8c]
push edx
call sub.MFC42.DLL_CString::operator_1
push 1
push 0x59
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov byte [esp + 0xe0], 6
call esi
add esp, 8
test eax, eax
je 0x497d46
push 1
push 0x4e
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x10]
push edx
push eax
call esi
add esp, 8
lea ecx, [esp + 0x58]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497d46
push 1
push 0x79
lea ecx, [esp + 0xb8]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x10]
push ecx
push edx
call esi
add esp, 8
lea ecx, [esp + 0xb0]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497d46
push 1
push 0x6e
lea ecx, [esp + 0x68]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call esi
add esp, 8
lea ecx, [esp + 0x60]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497d46
mov bl, 1
jmp 0x497d48
xor bl, bl
lea ecx, [esp + 0x34]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4987ef
push 0x1d
push 0x1c
push 0x62008c
jmp 0x497bd7
cmp eax, 0x11
jl 0x497de2
cmp eax, 0x1c
jg 0x497de2
mov eax, dword [ebx + 0xf0]
lea ecx, [ebx + 0xe8]
lea edx, [esp + 0x10]
push edx
push eax
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
mov al, byte [esp + 0x1d]
test al, al
jne 0x4987ef
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 8]
cmp eax, 3
je 0x4987ef
test eax, eax
je 0x4987ef
push 0x1d
push 0x1c
lea ecx, [esp + 0x18]
push 0x620070
push ecx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea edx, [esp + 0x18]
push edx
call fcn.0059ba4c
mov byte [esp + 0x1d], 1
jmp 0x49874a
cmp eax, 0x1d
jne 0x497ef0
lea edx, [esp + 0x10]
lea ecx, [ebx + 0x90]
push edx
call sub.MFC42.DLL_CString::operator_1
push 1
push 0x59
lea ecx, [esp + 0xa8]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov byte [esp + 0xe0], 7
call esi
add esp, 8
test eax, eax
je 0x497ec4
push 1
push 0x4e
lea ecx, [esp + 0x70]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x10]
push edx
push eax
call esi
add esp, 8
lea ecx, [esp + 0x68]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497ec4
push 1
push 0x79
lea ecx, [esp + 0xc8]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x10]
push ecx
push edx
call esi
add esp, 8
lea ecx, [esp + 0xc0]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497ec4
push 1
push 0x6e
lea ecx, [esp + 0x78]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call esi
add esp, 8
lea ecx, [esp + 0x70]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x497ec4
mov bl, 1
jmp 0x497ec6
xor bl, bl
lea ecx, [esp + 0xa0]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4987ef
push 0x1d
push 0x1c
push 0x620054
jmp 0x497bd7
cmp eax, 0x1e
jl 0x497f63
cmp eax, 0x29
jg 0x497f63
mov eax, dword [ebx + 0x104]
lea ecx, [ebx + 0xfc]
lea edx, [esp + 0x10]
push edx
push eax
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
mov al, byte [esp + 0x1f]
test al, al
jne 0x4987ef
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 8]
cmp eax, 3
je 0x4987ef
test eax, eax
je 0x4987ef
push 0x1d
push 0x1c
lea ecx, [esp + 0x18]
push 0x620038
push ecx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea edx, [esp + 0x18]
push edx
call fcn.0059ba4c
mov byte [esp + 0x1f], 1
jmp 0x49874a
cmp eax, 0x2a
jne 0x498074
lea edx, [esp + 0x10]
lea ecx, [ebx + 0x94]
push edx
call sub.MFC42.DLL_CString::operator_1
push 1
push 0x59
lea ecx, [esp + 0x40]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov byte [esp + 0xe0], 8
call esi
add esp, 8
test eax, eax
je 0x49804b
push 1
push 0x4e
lea ecx, [esp + 0x80]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x10]
push edx
push eax
call esi
add esp, 8
lea ecx, [esp + 0x78]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x49804b
push 1
push 0x79
lea ecx, [esp + 0xc0]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x10]
push ecx
push edx
call esi
add esp, 8
lea ecx, [esp + 0xb8]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x49804b
push 1
push 0x6e
lea ecx, [esp + 0x88]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call esi
add esp, 8
lea ecx, [esp + 0x80]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x49804b
mov bl, 1
jmp 0x49804d
xor bl, bl
lea ecx, [esp + 0x38]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4987ef
push 0x1d
push 0x1c
push 0x62001c
jmp 0x497bd7
cmp eax, 0x2b
jl 0x4980e7
cmp eax, 0x36
jg 0x4980e7
mov eax, dword [ebx + 0x118]
lea ecx, [ebx + 0x110]
lea edx, [esp + 0x10]
push edx
push eax
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
mov al, byte [esp + 0x1e]
test al, al
jne 0x4987ef
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 8]
cmp eax, 3
je 0x4987ef
test eax, eax
je 0x4987ef
push 0x1d
push 0x1c
lea ecx, [esp + 0x18]
push 0x620000
push ecx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea edx, [esp + 0x18]
push edx
call fcn.0059ba4c
mov byte [esp + 0x1e], 1
jmp 0x49874a
cmp eax, 0x37
jne 0x4981e3
lea edx, [esp + 0x10]
lea ecx, [ebx + 0x98]
push edx
call sub.MFC42.DLL_CString::operator_1
push 1
push 0x59
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov byte [esp + 0xe0], 9
call esi
add esp, 8
test eax, eax
je 0x4981ba
push 1
push 0x4e
lea ecx, [esp + 0x44]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
push edx
push eax
call esi
add esp, 8
lea ecx, [esp + 0x3c]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4981ba
push 1
push 0x79
lea ecx, [esp + 0x4c]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
push ecx
push edx
call esi
add esp, 8
lea ecx, [esp + 0x44]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4981ba
push 1
push 0x6e
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call esi
add esp, 8
lea ecx, [esp + 0x4c]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4981ba
mov bl, 1
jmp 0x4981bc
xor bl, bl
lea ecx, [esp + 0x54]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4987ef
push 0x1d
push 0x1c
push 0x61ffe4
jmp 0x497bd7
cmp eax, 0x38
jl 0x498256
cmp eax, 0x3f
jg 0x498256
mov eax, dword [ebx + 0x12c]
lea ecx, [ebx + 0x124]
lea edx, [esp + 0x10]
push edx
push eax
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
mov al, byte [esp + 0x21]
test al, al
jne 0x4987ef
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 8]
test eax, eax
je 0x4987ef
cmp eax, 5
jge 0x4987ef
push 0x1d
push 0x1c
lea ecx, [esp + 0x18]
push 0x61ffc8
push ecx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea edx, [esp + 0x18]
push edx
call fcn.0059ba4c
mov byte [esp + 0x21], 1
jmp 0x49874a
cmp eax, 0x40
jne 0x498352
lea edx, [esp + 0x10]
lea ecx, [ebx + 0x9c]
push edx
call sub.MFC42.DLL_CString::operator_1
push 1
push 0x59
lea ecx, [esp + 0x7c]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov byte [esp + 0xe0], 0xa
call esi
add esp, 8
test eax, eax
je 0x498329
push 1
push 0x4e
lea ecx, [esp + 0x64]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
push edx
push eax
call esi
add esp, 8
lea ecx, [esp + 0x5c]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x498329
push 1
push 0x79
lea ecx, [esp + 0x6c]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x10]
push ecx
push edx
call esi
add esp, 8
lea ecx, [esp + 0x64]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x498329
push 1
push 0x6e
lea ecx, [esp + 0x74]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call esi
add esp, 8
lea ecx, [esp + 0x6c]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x498329
mov bl, 1
jmp 0x49832b
xor bl, bl
lea ecx, [esp + 0x74]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4987ef
push 0x1d
push 0x1c
push 0x61ffb0
jmp 0x497bd7
cmp eax, 0x41
jne 0x4983c3
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x10]
push edx
lea ecx, [eax + 0xb8]
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::MakeUpper
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov esi, dword [edx - 8]
test esi, esi
jle 0x4987ef
mov al, byte [ecx + edx]
cmp al, 0x41
jl 0x49839a
cmp al, 0x5a
jg 0x49839a
inc ecx
cmp ecx, esi
jl 0x498385
jmp 0x4987ef
push 0x1d
push 0x1c
lea ecx, [esp + 0x20]
push 0x61ff98
push ecx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea edx, [esp + 0x18]
push edx
call fcn.0059ba4c
jmp 0x49874a
cmp eax, 0x42
jne 0x4984dd
lea edx, [esp + 0x10]
lea ecx, [ebx + 0xa4]
push edx
call sub.MFC42.DLL_CString::operator_1
push 1
push 0x59
lea ecx, [esp + 0x9c]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov byte [esp + 0xe0], 0xb
call esi
add esp, 8
test eax, eax
je 0x4984b1
push 1
push 0x4e
lea ecx, [esp + 0x84]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x10]
push edx
push eax
call esi
add esp, 8
lea ecx, [esp + 0x7c]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4984b1
push 1
push 0x79
lea ecx, [esp + 0x8c]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x10]
push ecx
push edx
call esi
add esp, 8
lea ecx, [esp + 0x84]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4984b1
push 1
push 0x6e
lea ecx, [esp + 0x94]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call esi
add esp, 8
lea ecx, [esp + 0x8c]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4984b1
mov bl, 1
jmp 0x4984b3
xor bl, bl
lea ecx, [esp + 0x94]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4987ef
push 0x1d
push 0x1c
push 0x61ff7c
jmp 0x497bd7
cmp eax, 0x43
je 0x498768
cmp eax, 0x44
je 0x498775
cmp eax, 0x45
jne 0x49860f
lea edx, [esp + 0x10]
lea ecx, [ebx + 0xa0]
push edx
call sub.MFC42.DLL_CString::operator_1
push 1
push 0x59
lea ecx, [esp + 0xbc]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov byte [esp + 0xe0], 0xc
call esi
add esp, 8
test eax, eax
je 0x4985e3
push 1
push 0x4e
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CString::CString_4
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x10]
push edx
push eax
call esi
add esp, 8
lea ecx, [esp + 0x9c]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4985e3
push 1
push 0x79
lea ecx, [esp + 0xac]
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x10]
push ecx
push edx
call esi
add esp, 8
lea ecx, [esp + 0xa4]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4985e3
push 1
push 0x6e
lea ecx, [esp + 0xb4]
call sub.MFC42.DLL_CString::CString_4
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call esi
add esp, 8
lea ecx, [esp + 0xac]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4985e3
mov bl, 1
jmp 0x4985e5
xor bl, bl
lea ecx, [esp + 0xb4]
mov byte [esp + 0xd8], 2
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4987ef
push 0x1d
push 0x1c
push 0x61ff60
jmp 0x497bd7
cmp eax, 0x46
je 0x4986d2
cmp eax, 0x47
je 0x4986df
cmp eax, 0x48
jne 0x498638
lea edx, [esp + 0x10]
lea ecx, [ebx + 0x3c]
push edx
call sub.MFC42.DLL_CString::operator_1
jmp 0x4987ef
cmp eax, 0x49
jne 0x4987ef
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x10]
push eax
add ecx, 0xa8
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [esp + 0x10]
xor dl, dl
mov eax, dword [ecx - 8]
test eax, eax
jne 0x498664
mov dl, 1
xor esi, esi
test eax, eax
jle 0x4987ef
mov edi, dword [esp + 0x14]
test dl, dl
jne 0x4986c5
mov al, byte [esi + ecx]
cmp al, 0x30
jge 0x4986c5
cmp al, 0x39
jle 0x4986c5
cmp al, 0x2e
je 0x4986c5
push 0x1d
push 0x1c
lea edx, [esp + 0x20]
push 0x61ff48
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.0059ba4c
inc ebp
mov ecx, 5
mov eax, ebp
cdq
idiv ecx
test edx, edx
jne 0x4986bf
push 0xd
mov ecx, edi
call fcn.0059b7b2
mov ecx, dword [esp + 0x10]
mov dl, 1
mov eax, dword [ecx - 8]
inc esi
cmp esi, eax
jl 0x498672
jmp 0x4987ef
lea edx, [esp + 0x10]
lea ecx, [ebx + 0xbc]
push edx
jmp 0x4986ea
lea eax, [esp + 0x10]
lea ecx, [ebx + 0xc0]
push eax
call sub.MFC42.DLL_CString::operator_1
mov al, byte [esp + 0x20]
test al, al
jne 0x4987ef
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov esi, dword [edx - 8]
test esi, esi
jle 0x4987ef
mov al, byte [ecx + edx]
cmp al, 0x30
jl 0x498721
cmp al, 0x39
jg 0x498721
inc ecx
cmp ecx, esi
jl 0x49870c
jmp 0x4987ef
push 0x1d
push 0x1c
lea ecx, [esp + 0x20]
push 0x61ff2c
push ecx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea edx, [esp + 0x18]
push edx
call fcn.0059ba4c
mov byte [esp + 0x20], 1
inc ebp
mov ecx, 5
mov eax, ebp
cdq
idiv ecx
test edx, edx
jne 0x4987ef
mov ecx, dword [esp + 0x14]
push 0xd
jmp 0x4987ea
lea edx, [esp + 0x10]
lea ecx, [ebx + 0xc4]
push edx
jmp 0x498780
lea eax, [esp + 0x10]
lea ecx, [ebx + 0xc8]
push eax
call sub.MFC42.DLL_CString::operator_1
mov al, byte [esp + 0x1c]
test al, al
jne 0x4987ef
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov esi, dword [edx - 8]
test esi, esi
jle 0x4987ef
mov al, byte [ecx + edx]
cmp al, 0x30
jl 0x4987ac
cmp al, 0x39
jg 0x4987ac
inc ecx
cmp ecx, esi
jl 0x49879a
jmp 0x4987ef
push 0x1d
push 0x1c
lea ecx, [esp + 0x20]
push 0x61ff10
push ecx
call sub.MFC42.DLL_CString::Format
mov esi, dword [esp + 0x24]
add esp, 0x10
lea edx, [esp + 0x18]
mov ecx, esi
push edx
call fcn.0059ba4c
inc ebp
mov ecx, 5
mov eax, ebp
mov byte [esp + 0x1c], 1
cdq
idiv ecx
test edx, edx
jne 0x4987ef
push 0xd
mov ecx, esi
call fcn.0059b7b2
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Empty
mov eax, dword [esp + 0x2c]
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
mov ebx, dword [esp + 0x28]
inc eax
mov dword [esp + 0x2c], eax
jmp 0x498817
push eax
lea ecx, [esp + 0x28]
call fcn.0059b7b2
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0xbc]
or ecx, 0xffffffff
xor eax, eax
inc edx
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xfffffffe
mov dword [esp + 0x30], edx
cmp edx, ecx
jl 0x4978e7
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax - 4]
cmp byte [eax + ecx - 1], 0xd
je 0x498854
push 0xd
mov ecx, esi
call fcn.0059b7b2
mov edx, dword [esi]
lea ecx, [esp + 0x18]
mov byte [esp + 0xd8], 1
mov eax, dword [edx - 8]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0xd8], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0xd8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0xd0]
pop edi
pop esi
mov al, bl
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xcc
ret 8