Function at 0x496260
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbdc
xor eax, eax
push ebx
push esi
push edi
xor edi, edi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 4], eax
push esi
call sub.cc3260mt.dll__strlen
pop ecx
mov dword [ebp - 0x18], eax
xor ebx, ebx
lea eax, [ebp - 0x424]
mov dword [ebp - 0x1c], eax
mov edx, esi
mov esi, edx
cmp ebx, dword [ebp - 0x18]
jge 0x4962bf
movsx eax, byte [esi]
cmp eax, 0x20
je 0x4962b8
cmp eax, 0xd
je 0x4962b8
cmp eax, 0xa
je 0x4962b8
mov dl, byte [esi]
push edx
call fcn.00496244
pop ecx
mov ecx, dword [ebp - 0x1c]
mov byte [ecx], al
inc edi
inc dword [ebp - 0x1c]
inc ebx
inc esi
cmp ebx, dword [ebp - 0x18]
jl 0x496294
mov byte [ebp + edi - 0x424], 0
mov eax, dword [ebp + 8]
xor edi, edi
xor ebx, ebx
xor esi, esi
mov word [eax], 0
mov edx, dword [ebp + 8]
mov ecx, edx
mov dword [ebp - 0x20], ecx
jmp 0x496522
mov eax, esi
cmp eax, 5
ja case.default.0x4962ed
jmp dword [eax*4 + 0x4962f4]
mov al, byte [ebp + ebx - 0x424]
movsx edx, al
cmp edx, 0x41
jl 0x496333
cmp edx, 0x48
jg 0x496333
movsx ecx, al
add cx, 0xffbf
mov eax, dword [ebp - 0x20]
shl ecx, 0xd
mov word [eax], cx
jmp 0x49633d
mov eax, 0x14
jmp 0x496569
inc esi
jmp case.default.0x4962ed
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x3d
je 0x49635a
mov eax, 0x14
jmp 0x496569
inc esi
jmp case.default.0x4962ed
mov al, byte [ebp + ebx - 0x424]
movsx edx, al
cmp edx, 0x41
jl 0x496387
cmp edx, 0x48
jg 0x496387
movsx ecx, al
add cx, 0xffbf
mov eax, dword [ebp - 0x20]
shl ecx, 0xa
or word [eax], cx
jmp 0x496391
mov eax, 0x14
jmp 0x496569
inc esi
jmp case.default.0x4962ed
mov eax, 0xffff
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x2b
jne 0x4963ab
xor eax, eax
cmp edx, 0x2d
jne 0x4963b5
mov eax, 1
cmp edx, 0x3c
jne 0x4963bf
mov eax, 2
cmp edx, 0x2a
jne 0x4963c9
mov eax, 3
cmp edx, 0x5e
jne 0x4963d3
mov eax, 4
cmp edx, 0x26
jne 0x4963dd
mov eax, 5
cmp edx, 0x7c
jne 0x4963e7
mov eax, 6
cmp edx, 0x3f
jne 0x4963f1
mov eax, 7
cmp eax, 0xffff
jne 0x496402
mov eax, 0x15
jmp 0x496569
shl eax, 7
mov edx, dword [ebp - 0x20]
or word [edx], ax
inc esi
jmp case.default.0x4962ed
mov eax, 0xffff
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x30
jl 0x4964b4
cmp edx, 0x39
jg 0x4964b4
test edi, edi
jne 0x49643e
mov eax, 0x16
jmp 0x496569
mov edx, dword [ebp - 0x20]
or word [edx], 0x40
push 0xa
push 0
lea ecx, [ebp - 0x10]
push ecx
call sub.cc3260mt.dll__memset
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x10]
mov dword [ebp - 0x24], edx
lea eax, [ebp + ebx - 0x424]
jmp 0x496478
mov ecx, dword [ebp - 0x24]
mov dl, byte [eax]
inc ebx
mov byte [ecx], dl
inc dword [ebp - 0x14]
inc dword [ebp - 0x24]
inc eax
movsx edx, byte [eax]
cmp edx, 0x30
jl 0x496485
cmp edx, 0x39
jle 0x496469
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x10]
dec ebx
mov byte [ebp + eax - 0x10], 0
push ecx
call fcn.00494c18
pop ecx
cmp eax, 0x40
jb 0x4964a7
mov eax, 0x18
jmp 0x496569
mov edx, dword [ebp - 0x20]
or word [edx], ax
mov dword [ebp - 4], 1
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x41
jl 0x4964ed
cmp edx, 0x48
jg 0x4964ed
movsx eax, byte [ebp + ebx - 0x424]
add ax, 0xffbf
mov ecx, dword [ebp - 0x20]
shl eax, 3
or word [ecx], ax
test edi, edi
jne 0x4964e6
mov eax, dword [ebp - 0x20]
or word [eax], 1
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x4964fb
cmp eax, 0xffff
jne 0x4964fb
mov eax, 0x14
jmp 0x496569
inc esi
jmp case.default.0x4962ed
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x2c
je 0x496512
mov eax, 0x14
jmp 0x496569
xor esi, esi
inc edi
add dword [ebp - 0x20], 2
mov eax, dword [ebp - 0x20]
mov word [eax], 0
inc ebx
cmp byte [ebp + ebx - 0x424], 0
jne 0x4962e2
cmp esi, 5
je 0x49653c
mov eax, 0x14
jmp 0x496569
cmp dword [ebp - 4], 0
je 0x496549
mov eax, 0x17
jmp 0x496569
mov edx, dword [ebp + 8]
lea eax, [edi + 1]
or word [edx + edi*2], 4
cmp eax, 0x80
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
jbe 0x496567
mov eax, 7
jmp 0x496569
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret