Function at 0x479030
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48e5db
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1dc
push esi
mov dword [ebp - 0x10c], ecx
lea ecx, [ebp - 0x4c]
call fcn.0047b270
mov dword [ebp - 4], 0
cmp dword [ebp + 0xc], 0
jl 0x479073
cmp dword [ebp + 0xc], 0x12c
jle 0x479087
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0047b440
jmp 0x47a59c
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
test eax, eax
jne 0x4790ad
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0047b440
jmp 0x47a59c
mov eax, dword [ebp - 0x10c]
cmp dword [eax + 8], 0
je 0x4790c4
mov ecx, dword [ebp - 0x10c]
call fcn.0047a865
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp + 0xc]
mov dword [ecx + 0x18], edx
cmp dword [ebp + 8], 0
jne 0x479124
mov dword [ebp - 0x48], 0
cmp dword [ebp - 0x10c], 0
je 0x4790f7
mov eax, dword [ebp - 0x10c]
add eax, 4
mov dword [ebp - 0x110], eax
jmp 0x479101
mov dword [ebp - 0x110], 0
mov ecx, dword [ebp - 0x110]
push ecx
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
jmp 0x47a53c
mov dword [ebp - 0x58], 0
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp dword [ebp - 0x58], eax
jge 0x47a4be
mov eax, dword [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0xa
jne 0x4791e0
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x58]
jge 0x4791c5
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
lea edx, [ebp - 0x80]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x118], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
mov eax, dword [ebp - 0x58]
add eax, 1
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x20], 1
jmp 0x47912b
mov edx, dword [ebp - 0x58]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x68
je 0x479218
mov ecx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x77
jne 0x4796f4
push 0x4a6028
push 4
mov eax, dword [ebp - 0x58]
push eax
lea ecx, [ebp - 0x88]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x11c], eax
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x120], edx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x120]
call fcn.0041b1a0
test eax, eax
je 0x4792c7
push 0x4a6030
push 3
mov eax, dword [ebp - 0x58]
push eax
lea ecx, [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x128], edx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x128]
call fcn.0041b1a0
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x8c], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x90]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x8c]
and eax, 0xff
test eax, eax
je 0x4792f2
xor ecx, ecx
cmp dword [ebp - 0x40], 0
sete cl
mov byte [ebp - 0x94], cl
mov edx, dword [ebp - 0x94]
and edx, 0xff
test edx, edx
je 0x4792f2
mov dword [ebp - 0x12c], 1
jmp 0x4792fc
mov dword [ebp - 0x12c], 0
mov al, byte [ebp - 0x12c]
mov byte [ebp - 0x84], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0x84]
and ecx, 0xff
test ecx, ecx
je 0x4796f4
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x58]
jge 0x479396
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
lea edx, [ebp - 0x98]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x134]
push ecx
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x98]
call sub.MFC42.DLL_CString::CString
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
mov dword [ebp - 0x5c], 0
jmp 0x4793a8
mov eax, dword [ebp - 0x5c]
add eax, 1
mov dword [ebp - 0x5c], eax
mov esi, dword [ebp - 0x58]
add esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x47959c
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x61
jl 0x479402
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x7a
jle 0x479593
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x41
jl 0x479440
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x5a
jle 0x479593
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x30
jl 0x47947e
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x39
jle 0x479593
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x2f
je 0x479593
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x2e
je 0x479593
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x3a
je 0x479593
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x26
je 0x479593
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x3f
je 0x479593
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x3d
je 0x479593
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x2d
je 0x479593
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x5f
je 0x479593
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x25
jne 0x479595
jmp 0x479597
jmp 0x47959c
jmp 0x47939f
lea ecx, [ebp - 0x4c]
call fcn.0047b2d0
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x44], 0xffffff
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x58]
push eax
lea ecx, [ebp - 0x9c]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x13c], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9c]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::operator_1
push 0x4a6034
push 3
mov edx, dword [ebp - 0x58]
push edx
lea eax, [ebp - 0xa4]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x144], ecx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x144]
call fcn.0041b1a0
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0xa0], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa4]
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp - 0xa0]
and edx, 0xff
test edx, edx
je 0x4796c9
lea eax, [ebp - 0x3c]
push eax
push 0x4a6038
lea ecx, [ebp - 0xa8]
push ecx
call sub.MFC42.DLL_operator
mov dword [ebp - 0x148], eax
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa8]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
lea ecx, [ebp - 0x4c]
call fcn.0047b2d0
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x48], eax
jmp 0x47912b
mov ecx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x3c
jne 0x479820
mov esi, dword [ebp - 0x58]
add esi, 3
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x479820
push 0x4a6040
push 4
mov eax, dword [ebp - 0x58]
push eax
lea ecx, [ebp - 0xb0]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0x150]
mov dword [ebp - 0x154], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x154]
push eax
call fcn.0041b200
mov byte [ebp - 0xac], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb0]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xac]
and ecx, 0xff
test ecx, ecx
je 0x479820
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x58]
jge 0x479804
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
lea edx, [ebp - 0xb4]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x15c], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x15c]
push ecx
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb4]
call sub.MFC42.DLL_CString::CString
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
lea ecx, [ebp - 0x4c]
call fcn.0047b2d0
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x48], ecx
jmp 0x47912b
mov edx, dword [ebp - 0x58]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x2f
jne 0x47a4b0
mov dword [ebp - 0x60], 0xca
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], 0
jmp 0x479865
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x60]
sub edx, 1
cmp dword [ebp - 0x5c], edx
jge 0x479a21
push 5
push 0
lea eax, [ebp - 0x54]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x5c]
movsx edx, byte [ecx + 0x4a5e94]
sub edx, 0x30
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0x4a5e95
push ecx
lea edx, [ebp - 0x54]
push edx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0x70]
call sub.MFC42.DLL_CString::CString_2
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x54]
push eax
push 0x4a6048
lea ecx, [ebp - 0x70]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
cmp dword [ebp - 0x10c], 0
je 0x4798e9
mov edx, dword [ebp - 0x10c]
add edx, 4
mov dword [ebp - 0x160], edx
jmp 0x4798f3
mov dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x58]
add ecx, 1
push ecx
lea edx, [ebp - 0xbc]
push edx
mov ecx, dword [ebp - 0x160]
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x168]
push ecx
lea edx, [ebp - 0x70]
push edx
call fcn.0047b4c0
mov byte [ebp - 0xb8], al
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xbc]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0xb8]
and eax, 0xff
test eax, eax
je 0x479a03
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [ebp - 0x58]
jge 0x4799c9
mov edx, dword [ebp - 0x58]
sub edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x48]
push eax
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x16c], eax
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x170], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x170]
push eax
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xc0]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
lea ecx, [ebp - 0x4c]
call fcn.0047b2d0
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
mov edx, dword [ebp - 0x6c]
add edx, 1
mov dword [ebp - 0x64], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x70]
call sub.MFC42.DLL_CString::CString
jmp 0x479a21
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x5c]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x5c], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x70]
call sub.MFC42.DLL_CString::CString
jmp 0x47985c
mov eax, dword [ebp - 0x60]
sub eax, 1
cmp dword [ebp - 0x5c], eax
jge 0x479a48
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x64]
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x4c]
call fcn.0047b2d0
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x48], edx
jmp 0x47912b
mov esi, dword [ebp - 0x58]
add esi, 1
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x47a4b0
mov eax, dword [ebp - 0x58]
add eax, 1
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x3c
jne 0x47a4b0
mov esi, dword [ebp - 0x58]
add esi, 0xa
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x479c2c
mov edx, dword [ebp - 0x58]
add edx, 2
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x63
jne 0x479c2c
mov ecx, dword [ebp - 0x58]
add ecx, 3
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x3d
jne 0x479c2c
mov eax, dword [ebp - 0x58]
add eax, 0xa
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x3e
jne 0x479c2c
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x58]
jge 0x479b6f
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
lea edx, [ebp - 0xc4]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x178]
push ecx
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc4]
call sub.MFC42.DLL_CString::CString
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
lea eax, [ebp - 0x44]
push eax
push 0x4a604c
push 6
mov ecx, dword [ebp - 0x58]
add ecx, 4
push ecx
lea edx, [ebp - 0xc8]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x180], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x180]
call fcn.00402e50
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc8]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0x44]
and ecx, 0xff0000
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x74]
sar edx, 0x10
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x44]
and eax, 0xff00
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x44]
and ecx, 0xff
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
shl edx, 0x10
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x78]
or eax, dword [ebp - 0x7c]
or eax, dword [ebp - 0x74]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x58]
add ecx, 0xb
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x48], edx
jmp 0x47912b
mov esi, dword [ebp - 0x58]
add esi, 7
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x479f85
mov eax, dword [ebp - 0x58]
add eax, 2
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x65
jne 0x479f85
mov edx, dword [ebp - 0x58]
add edx, 3
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x30
jne 0x479f85
mov ecx, dword [ebp - 0x58]
add ecx, 6
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x31
je 0x479d02
mov eax, dword [ebp - 0x58]
add eax, 6
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x32
je 0x479d02
mov edx, dword [ebp - 0x58]
add edx, 6
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x30
je 0x479d02
mov ecx, dword [ebp - 0x58]
add ecx, 6
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x33
jne 0x479f85
mov eax, dword [ebp - 0x58]
add eax, 4
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x30
jne 0x479f85
mov edx, dword [ebp - 0x58]
add edx, 5
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x30
jne 0x479f85
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [ebp - 0x58]
jge 0x479daf
mov edx, dword [ebp - 0x58]
sub edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x48]
push eax
lea ecx, [ebp - 0xcc]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x188], edx
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x188]
push eax
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xcc]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
mov edx, dword [ebp - 0x58]
add edx, 6
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x31
jne 0x479dd3
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x5c], 0
jmp 0x479de5
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
lea esi, [eax + edx + 7]
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x479e4d
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
lea eax, [edx + ecx + 7]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x3e
je 0x479e49
cmp dword [ebp - 0x5c], 1
jle 0x479e4b
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
lea ecx, [eax + edx + 7]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x3c
jne 0x479e4b
jmp 0x479e4d
jmp 0x479ddc
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
lea edx, [ecx + eax + 7]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x3e
jne 0x479ec2
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x58]
add edx, 7
push edx
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x190], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x190]
push edx
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xd0]
call sub.MFC42.DLL_CString::CString
push 0x4a6050
push 4
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::Left
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x198], ecx
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x198]
call fcn.0041b1a0
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0xd4], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xd8]
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp - 0xd4]
and edx, 0xff
test edx, edx
je 0x479f6d
lea eax, [ebp - 0x3c]
push eax
push 0x4a6058
lea ecx, [ebp - 0xdc]
push ecx
call sub.MFC42.DLL_operator
mov dword [ebp - 0x19c], eax
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1a0], edx
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
lea eax, [edx + ecx + 8]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x48], ecx
jmp 0x47912b
mov esi, dword [ebp - 0x58]
add esi, 7
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x47a212
mov edx, dword [ebp - 0x58]
add edx, 2
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x65
jne 0x47a212
push 4
mov ecx, dword [ebp - 0x58]
add ecx, 3
push ecx
lea edx, [ebp - 0xe4]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x1a8]
call fcn.00402e50
push eax
call dword [sym.imp.MSVCRT.dll_atol]
add esp, 4
xor ecx, ecx
cmp eax, 0x400
setge cl
mov byte [ebp - 0xe0], cl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xe4]
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp - 0xe0]
and edx, 0xff
test edx, edx
je 0x47a212
mov dword [ebp - 0x44], 0xff0000
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x58]
jge 0x47a0b0
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x48]
push edx
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ecx
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x1b0]
push edx
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xe8]
call sub.MFC42.DLL_CString::CString
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
push 4
mov ecx, dword [ebp - 0x58]
add ecx, 3
push ecx
lea edx, [ebp - 0xec]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b8], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x1b8]
call fcn.00402e50
push eax
call dword [sym.imp.MSVCRT.dll_atol]
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xec]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 0x5c], 0
jmp 0x47a11d
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
lea esi, [eax + edx + 7]
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x47a185
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
lea eax, [edx + ecx + 7]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x3e
je 0x47a181
cmp dword [ebp - 0x5c], 1
jle 0x47a183
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
lea ecx, [eax + edx + 7]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x3c
jne 0x47a183
jmp 0x47a185
jmp 0x47a114
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
lea edx, [ecx + eax + 7]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x3e
jne 0x47a1fa
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x58]
add edx, 7
push edx
lea eax, [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c0], ecx
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1c0]
push edx
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xf0]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
lea edx, [ecx + eax + 8]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x48], eax
jmp 0x47912b
mov esi, dword [ebp - 0x58]
add esi, 7
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x47a4b0
mov ecx, dword [ebp - 0x58]
add ecx, 2
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x65
jne 0x47a4b0
push 4
mov eax, dword [ebp - 0x58]
add eax, 3
push eax
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c8], edx
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x1c8]
call fcn.00402e50
push eax
call dword [sym.imp.MSVCRT.dll_atol]
add esp, 4
xor ecx, ecx
cmp eax, 0x3ff
sete cl
mov byte [ebp - 0xf4], cl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xf8]
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp - 0xf4]
and edx, 0xff
test edx, edx
je 0x47a4b0
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x58]
jge 0x47a336
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x48]
push edx
lea eax, [ebp - 0xfc]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x1d0], ecx
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1d0]
push edx
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xfc]
call sub.MFC42.DLL_CString::CString
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
push 4
mov ecx, dword [ebp - 0x58]
add ecx, 3
push ecx
lea edx, [ebp - 0x100]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x1d8]
call fcn.00402e50
push eax
call dword [sym.imp.MSVCRT.dll_atol]
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x100]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 0x5c], 0
jmp 0x47a3a3
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
lea esi, [eax + edx + 7]
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp esi, eax
jge 0x47a40b
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
lea eax, [edx + ecx + 7]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx ecx, al
cmp ecx, 0x3e
je 0x47a407
cmp dword [ebp - 0x5c], 1
jle 0x47a409
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
lea ecx, [eax + edx + 7]
push ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx edx, al
cmp edx, 0x3c
jne 0x47a409
jmp 0x47a40b
jmp 0x47a39a
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
lea edx, [ecx + eax + 7]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.0041b1e0
movsx eax, al
cmp eax, 0x3e
jne 0x47a480
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x58]
add edx, 7
push edx
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e0], ecx
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x1e0]
push edx
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x104]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x3c]
call fcn.00402e50
push eax
call dword [sym.imp.MSVCRT.dll_atol]
add esp, 4
add eax, 0x32
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
lea edx, [ecx + eax + 8]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x48], eax
jmp 0x47912b
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
jmp 0x47912b
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call fcn.00405e40
cmp dword [ebp - 0x58], eax
jl 0x47a53c
mov edx, dword [ebp - 0x58]
cmp edx, dword [ebp - 0x48]
jle 0x47a53c
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
lea edx, [ebp - 0x108]
push edx
mov ecx, dword [ebp - 0x10c]
add ecx, 4
call sub.MFC42.DLL_CString::Mid_1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x1e8]
push ecx
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x108]
call sub.MFC42.DLL_CString::CString
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x10c]
call fcn.00478be5
mov eax, dword [ebp - 0x10c]
cmp dword [eax + 8], 0
jne 0x47a559
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0047b440
jmp 0x47a59c
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x10], edx
jmp 0x47a570
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x34], 0
je 0x47a57b
jmp 0x47a567
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x14]
add ecx, 1
mov edx, dword [ebp - 0x10c]
mov dword [edx + 0xc], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0047b440
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 8