Function at 0x496e20
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x497287
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x497287
cmp eax, 0x29
jne 0x496e60
cmp dword [esi + 0x10], 0
jne 0x497287
test dword [esi + 0x50], 0x10000000
je 0x497294
jmp 0x497220
cmp eax, 0x2e
jne 0x496eb3
push 5
lea ecx, [esi + 0x24]
call fcn.004972b0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x497268
cmp byte [eax], 0x5c
jne 0x49706f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x49706f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x496eab
mov dl, byte [ecx]
cmp dl, 0x28
je 0x49706d
cmp dl, 0x29
je 0x49706d
test bl, 0x10
jmp 0x49705f
cmp eax, 0x5c
jne 0x496fd1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x496efa
cmp byte [eax], 0x5c
jne 0x496ef7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x496ef7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x496ee4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x496ef5
cmp dl, 0x29
je 0x496ef5
test bl, 0x10
jne 0x496ef7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x496ef5
cmp dl, 0x7d
jne 0x496ef7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00495760
test byte [esi + 0x50], 0x80
je 0x496fc5
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x496f66
push 4
lea ecx, [esi + 0x24]
call fcn.004972b0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x496f5a
cmp byte [eax], 0x5c
jne 0x496f57
lea ecx, [eax + 1]
cmp ecx, edx
je 0x496f57
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x496f44
mov dl, byte [ecx]
cmp dl, 0x28
je 0x496f55
cmp dl, 0x29
je 0x496f55
test bl, 0x10
jne 0x496f57
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x496f55
cmp dl, 0x7d
jne 0x496f57
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00495760
jmp 0x497279
cmp al, 0x42
jne 0x496fc5
push 4
lea ecx, [esi + 0x24]
call fcn.004972b0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x496fb9
cmp byte [eax], 0x5c
jne 0x496fb6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x496fb6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x496fa3
mov al, byte [ecx]
cmp al, 0x28
je 0x496fb4
cmp al, 0x29
je 0x496fb4
mov eax, dword [esi]
test dl, 0x10
jne 0x496fb6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x496fb4
cmp dl, 0x7d
jne 0x496fb6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00495760
jmp 0x497279
mov ecx, esi
call fcn.00498890
jmp 0x49726f
cmp eax, 0x5b
jne 0x497077
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x497018
cmp byte [eax], 0x5c
jne 0x497015
lea ecx, [eax + 1]
cmp ecx, edx
je 0x497015
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x497002
mov al, byte [ecx]
cmp al, 0x28
je 0x497013
cmp al, 0x29
je 0x497013
mov eax, dword [esi]
test dl, 0x10
jne 0x497015
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x497013
cmp dl, 0x7d
jne 0x497015
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00495760
mov ecx, esi
call fcn.00498760
cmp dword [esi + 0x4c], 0x5d
jne 0x4972a2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x497268
cmp byte [eax], 0x5c
jne 0x49706f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x49706f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x49705c
mov al, byte [ecx]
cmp al, 0x28
je 0x49706d
cmp al, 0x29
je 0x49706d
mov eax, dword [esi]
test dl, 0x10
jne 0x49706f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x49706d
cmp dl, 0x7d
jne 0x49706f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x497268
cmp eax, 0x28
jne 0x49712a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4970be
cmp byte [eax], 0x5c
jne 0x4970bb
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4970bb
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4970a8
mov al, byte [ecx]
cmp al, 0x28
je 0x4970b9
cmp al, 0x29
je 0x4970b9
mov eax, dword [esi]
test dl, 0x10
jne 0x4970bb
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4970b9
cmp dl, 0x7d
jne 0x4970bb
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00495760
mov ecx, esi
call fcn.004989e0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x497294
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x497116
cmp byte [eax], 0x5c
jne 0x497113
lea ecx, [eax + 1]
cmp ecx, edx
je 0x497113
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x497100
mov al, byte [ecx]
cmp al, 0x28
je 0x497111
cmp al, 0x29
je 0x497111
mov eax, dword [esi]
test dl, 0x10
jne 0x497113
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x497111
cmp dl, 0x7d
jne 0x497113
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00495760
test bl, bl
je 0x497279
jmp 0x49726f
cmp eax, 0x5e
jne 0x497180
push 2
lea ecx, [esi + 0x24]
call fcn.004972b0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x497174
cmp byte [eax], 0x5c
jne 0x497172
inc eax
cmp eax, ecx
je 0x497172
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x49715f
mov dl, byte [eax]
cmp dl, 0x28
je 0x497170
cmp dl, 0x29
je 0x497170
test cl, 0x10
jne 0x497172
mov cl, byte [eax]
cmp cl, 0x7b
je 0x497170
cmp cl, 0x7d
jne 0x497172
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00495760
jmp 0x497279
cmp eax, 0x24
jne 0x4971d6
push 3
lea ecx, [esi + 0x24]
call fcn.004972b0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4971ca
cmp byte [eax], 0x5c
jne 0x4971c8
inc eax
cmp eax, ecx
je 0x4971c8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4971b5
mov dl, byte [eax]
cmp dl, 0x28
je 0x4971c6
cmp dl, 0x29
je 0x4971c6
test cl, 0x10
jne 0x4971c8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4971c6
cmp cl, 0x7d
jne 0x4971c8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00495760
jmp 0x497279
cmp eax, 0x2a
je 0x49728d
cmp eax, 0x2b
je 0x49728d
cmp eax, 0x3f
je 0x49728d
cmp eax, 0x7b
je 0x49728d
cmp eax, 0x7d
jne 0x49720e
test dword [esi + 0x50], 0x10000000
je 0x49729b
jmp 0x497220
cmp eax, 0x5d
jne 0x497220
test dword [esi + 0x50], 0x10000000
je 0x4972a2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00498dc0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x497268
cmp byte [eax], 0x5c
jne 0x497266
inc eax
cmp eax, ecx
je 0x497266
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x497253
mov dl, byte [eax]
cmp dl, 0x28
je 0x497264
cmp dl, 0x29
je 0x497264
test cl, 0x10
jne 0x497266
mov cl, byte [eax]
cmp cl, 0x7b
je 0x497264
cmp cl, 0x7d
jne 0x497266
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00495760
mov ecx, esi
call fcn.00498b90
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x496e36
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00495750
push 5
call fcn.00495750
push 6
call fcn.00495750
push 4
call fcn.00495750
int3