Function at 0x456a70
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 0x456f1d
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x456f1d
cmp eax, 0x29
jne 0x456ab0
cmp dword [esi + 0x10], 0
jne 0x456f1d
test dword [esi + 0x50], 0x10000000
je 0x456f2a
jmp 0x456eb0
cmp eax, 0x2e
jne 0x456b05
push 5
lea ecx, [esi + 0x24]
call fcn.00456f40
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456efe
cmp word [eax], 0x5c
jne 0x456ce3
lea ecx, [eax + 2]
cmp ecx, edx
je 0x456ce3
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x456afd
movzx edx, word [ecx]
cmp edx, 0x28
je 0x456ce1
cmp edx, 0x29
je 0x456ce1
test bl, 0x10
jmp 0x456cd2
cmp eax, 0x5c
jne 0x456c39
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456b51
cmp word [eax], 0x5c
jne 0x456b4c
lea ecx, [eax + 2]
cmp ecx, edx
je 0x456b4c
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x456b38
movzx edx, word [ecx]
cmp edx, 0x28
je 0x456b4a
cmp edx, 0x29
je 0x456b4a
test bl, 0x10
jne 0x456b4c
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x456b4a
cmp edx, 0x7d
jne 0x456b4c
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00455e70
test byte [esi + 0x50], 0x80
je 0x456c2d
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x456bc6
push 4
lea ecx, [esi + 0x24]
call fcn.00456f40
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456bba
cmp word [eax], 0x5c
jne 0x456bb5
lea ecx, [eax + 2]
cmp ecx, edx
je 0x456bb5
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x456ba1
movzx edx, word [ecx]
cmp edx, 0x28
je 0x456bb3
cmp edx, 0x29
je 0x456bb3
test bl, 0x10
jne 0x456bb5
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x456bb3
cmp edx, 0x7d
jne 0x456bb5
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00455e70
jmp 0x456f0f
cmp ecx, 0x42
jne 0x456c2d
push 4
lea ecx, [esi + 0x24]
call fcn.00456f40
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456c21
cmp word [eax], 0x5c
jne 0x456c1c
lea ecx, [eax + 2]
cmp ecx, edx
je 0x456c1c
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456c08
movzx eax, word [ecx]
cmp eax, 0x28
je 0x456c1a
cmp eax, 0x29
je 0x456c1a
mov eax, dword [esi]
test dl, 0x10
jne 0x456c1c
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x456c1a
cmp edx, 0x7d
jne 0x456c1c
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00455e70
jmp 0x456f0f
mov ecx, esi
call fcn.004576f0
jmp 0x456f05
cmp eax, 0x5b
jne 0x456ced
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456c87
cmp word [eax], 0x5c
jne 0x456c82
lea ecx, [eax + 2]
cmp ecx, edx
je 0x456c82
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456c6e
movzx eax, word [ecx]
cmp eax, 0x28
je 0x456c80
cmp eax, 0x29
je 0x456c80
mov eax, dword [esi]
test dl, 0x10
jne 0x456c82
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x456c80
cmp edx, 0x7d
jne 0x456c82
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00455e70
mov ecx, esi
call fcn.004575b0
cmp dword [esi + 0x4c], 0x5d
jne 0x456f38
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456efe
cmp word [eax], 0x5c
jne 0x456ce3
lea ecx, [eax + 2]
cmp ecx, edx
je 0x456ce3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456ccf
movzx eax, word [ecx]
cmp eax, 0x28
je 0x456ce1
cmp eax, 0x29
je 0x456ce1
mov eax, dword [esi]
test dl, 0x10
jne 0x456ce3
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x456ce1
cmp edx, 0x7d
jne 0x456ce3
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x456efe
cmp eax, 0x28
jne 0x456dae
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456d3b
cmp word [eax], 0x5c
jne 0x456d36
lea ecx, [eax + 2]
cmp ecx, edx
je 0x456d36
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456d22
movzx eax, word [ecx]
cmp eax, 0x28
je 0x456d34
cmp eax, 0x29
je 0x456d34
mov eax, dword [esi]
test dl, 0x10
jne 0x456d36
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x456d34
cmp edx, 0x7d
jne 0x456d36
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00455e70
mov ecx, esi
call fcn.00457830
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x456f2a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x456d9a
cmp word [eax], 0x5c
jne 0x456d95
lea ecx, [eax + 2]
cmp ecx, edx
je 0x456d95
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456d81
movzx eax, word [ecx]
cmp eax, 0x28
je 0x456d93
cmp eax, 0x29
je 0x456d93
mov eax, dword [esi]
test dl, 0x10
jne 0x456d95
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x456d93
cmp edx, 0x7d
jne 0x456d95
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00455e70
test bl, bl
je 0x456f0f
jmp 0x456f05
cmp eax, 0x5e
jne 0x456e0a
push 2
lea ecx, [esi + 0x24]
call fcn.00456f40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x456dfe
cmp word [eax], 0x5c
jne 0x456dfb
add eax, 2
cmp eax, ecx
je 0x456dfb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x456de7
movzx edx, word [eax]
cmp edx, 0x28
je 0x456df9
cmp edx, 0x29
je 0x456df9
test cl, 0x10
jne 0x456dfb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x456df9
cmp ecx, 0x7d
jne 0x456dfb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00455e70
jmp 0x456f0f
cmp eax, 0x24
jne 0x456e66
push 3
lea ecx, [esi + 0x24]
call fcn.00456f40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x456e5a
cmp word [eax], 0x5c
jne 0x456e57
add eax, 2
cmp eax, ecx
je 0x456e57
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x456e43
movzx edx, word [eax]
cmp edx, 0x28
je 0x456e55
cmp edx, 0x29
je 0x456e55
test cl, 0x10
jne 0x456e57
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x456e55
cmp ecx, 0x7d
jne 0x456e57
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00455e70
jmp 0x456f0f
cmp eax, 0x2a
je 0x456f23
cmp eax, 0x2b
je 0x456f23
cmp eax, 0x3f
je 0x456f23
cmp eax, 0x7b
je 0x456f23
cmp eax, 0x7d
jne 0x456e9e
test dword [esi + 0x50], 0x10000000
je 0x456f31
jmp 0x456eb0
cmp eax, 0x5d
jne 0x456eb0
test dword [esi + 0x50], 0x10000000
je 0x456f38
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00457c00
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x456efe
cmp word [eax], 0x5c
jne 0x456efb
add eax, 2
cmp eax, ecx
je 0x456efb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x456ee7
movzx edx, word [eax]
cmp edx, 0x28
je 0x456ef9
cmp edx, 0x29
je 0x456ef9
test cl, 0x10
jne 0x456efb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x456ef9
cmp ecx, 0x7d
jne 0x456efb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00455e70
mov ecx, esi
call fcn.004579d0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x456a86
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00455e60
push 5
call fcn.00455e60
push 6
call fcn.00455e60
push 4
call fcn.00455e60
int3