Function at 0x456880
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 0x456ce7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x456ce7
cmp eax, 0x29
jne 0x4568c0
cmp dword [esi + 0x10], 0
jne 0x456ce7
test dword [esi + 0x50], 0x10000000
je 0x456cf4
jmp 0x456c80
cmp eax, 0x2e
jne 0x456913
push 5
lea ecx, [esi + 0x24]
call fcn.00456810
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456cc8
cmp byte [eax], 0x5c
jne 0x456acf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x456acf
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45690b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x456acd
cmp dl, 0x29
je 0x456acd
test bl, 0x10
jmp 0x456abf
cmp eax, 0x5c
jne 0x456a31
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45695a
cmp byte [eax], 0x5c
jne 0x456957
lea ecx, [eax + 1]
cmp ecx, edx
je 0x456957
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x456944
mov dl, byte [ecx]
cmp dl, 0x28
je 0x456955
cmp dl, 0x29
je 0x456955
test bl, 0x10
jne 0x456957
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x456955
cmp dl, 0x7d
jne 0x456957
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004554e0
test byte [esi + 0x50], 0x80
je 0x456a25
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x4569c6
push 4
lea ecx, [esi + 0x24]
call fcn.00456810
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4569ba
cmp byte [eax], 0x5c
jne 0x4569b7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4569b7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4569a4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x4569b5
cmp dl, 0x29
je 0x4569b5
test bl, 0x10
jne 0x4569b7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4569b5
cmp dl, 0x7d
jne 0x4569b7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004554e0
jmp 0x456cd9
cmp al, 0x42
jne 0x456a25
push 4
lea ecx, [esi + 0x24]
call fcn.00456810
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456a19
cmp byte [eax], 0x5c
jne 0x456a16
lea ecx, [eax + 1]
cmp ecx, edx
je 0x456a16
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456a03
mov al, byte [ecx]
cmp al, 0x28
je 0x456a14
cmp al, 0x29
je 0x456a14
mov eax, dword [esi]
test dl, 0x10
jne 0x456a16
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x456a14
cmp dl, 0x7d
jne 0x456a16
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004554e0
jmp 0x456cd9
mov ecx, esi
call fcn.004580c0
jmp 0x456ccf
cmp eax, 0x5b
jne 0x456ad7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456a78
cmp byte [eax], 0x5c
jne 0x456a75
lea ecx, [eax + 1]
cmp ecx, edx
je 0x456a75
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456a62
mov al, byte [ecx]
cmp al, 0x28
je 0x456a73
cmp al, 0x29
je 0x456a73
mov eax, dword [esi]
test dl, 0x10
jne 0x456a75
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x456a73
cmp dl, 0x7d
jne 0x456a75
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004554e0
mov ecx, esi
call fcn.00457f90
cmp dword [esi + 0x4c], 0x5d
jne 0x456d02
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456cc8
cmp byte [eax], 0x5c
jne 0x456acf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x456acf
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456abc
mov al, byte [ecx]
cmp al, 0x28
je 0x456acd
cmp al, 0x29
je 0x456acd
mov eax, dword [esi]
test dl, 0x10
jne 0x456acf
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x456acd
cmp dl, 0x7d
jne 0x456acf
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x456cc8
cmp eax, 0x28
jne 0x456b8a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456b1e
cmp byte [eax], 0x5c
jne 0x456b1b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x456b1b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456b08
mov al, byte [ecx]
cmp al, 0x28
je 0x456b19
cmp al, 0x29
je 0x456b19
mov eax, dword [esi]
test dl, 0x10
jne 0x456b1b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x456b19
cmp dl, 0x7d
jne 0x456b1b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004554e0
mov ecx, esi
call fcn.00458210
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x456cf4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456b76
cmp byte [eax], 0x5c
jne 0x456b73
lea ecx, [eax + 1]
cmp ecx, edx
je 0x456b73
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456b60
mov al, byte [ecx]
cmp al, 0x28
je 0x456b71
cmp al, 0x29
je 0x456b71
mov eax, dword [esi]
test dl, 0x10
jne 0x456b73
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x456b71
cmp dl, 0x7d
jne 0x456b73
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004554e0
test bl, bl
je 0x456cd9
jmp 0x456ccf
cmp eax, 0x5e
jne 0x456be0
push 2
lea ecx, [esi + 0x24]
call fcn.00456810
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x456bd4
cmp byte [eax], 0x5c
jne 0x456bd2
inc eax
cmp eax, ecx
je 0x456bd2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x456bbf
mov dl, byte [eax]
cmp dl, 0x28
je 0x456bd0
cmp dl, 0x29
je 0x456bd0
test cl, 0x10
jne 0x456bd2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x456bd0
cmp cl, 0x7d
jne 0x456bd2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004554e0
jmp 0x456cd9
cmp eax, 0x24
jne 0x456c36
push 3
lea ecx, [esi + 0x24]
call fcn.00456810
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x456c2a
cmp byte [eax], 0x5c
jne 0x456c28
inc eax
cmp eax, ecx
je 0x456c28
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x456c15
mov dl, byte [eax]
cmp dl, 0x28
je 0x456c26
cmp dl, 0x29
je 0x456c26
test cl, 0x10
jne 0x456c28
mov cl, byte [eax]
cmp cl, 0x7b
je 0x456c26
cmp cl, 0x7d
jne 0x456c28
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004554e0
jmp 0x456cd9
cmp eax, 0x2a
je 0x456ced
cmp eax, 0x2b
je 0x456ced
cmp eax, 0x3f
je 0x456ced
cmp eax, 0x7b
je 0x456ced
cmp eax, 0x7d
jne 0x456c6e
test dword [esi + 0x50], 0x10000000
je 0x456cfb
jmp 0x456c80
cmp eax, 0x5d
jne 0x456c80
test dword [esi + 0x50], 0x10000000
je 0x456d02
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004585e0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x456cc8
cmp byte [eax], 0x5c
jne 0x456cc6
inc eax
cmp eax, ecx
je 0x456cc6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x456cb3
mov dl, byte [eax]
cmp dl, 0x28
je 0x456cc4
cmp dl, 0x29
je 0x456cc4
test cl, 0x10
jne 0x456cc6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x456cc4
cmp cl, 0x7d
jne 0x456cc6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004554e0
mov ecx, esi
call fcn.004583b0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x456896
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00454f50
push 5
call fcn.00454f50
push 6
call fcn.00454f50
push 4
call fcn.00454f50
int3