Function at 0x10012b50
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x10012e56
cmp eax, 0x7c
je 0x10012e56
cmp eax, 0x29
jne 0x10012b88
cmp dword [esi + 0x10], 0
jne 0x10012e56
test dword [esi + 0x50], 0x10000000
je 0x10012e5c
cmp eax, 0x2e
jne 0x10012bdf
push 5
lea ecx, [esi + 0x24]
call fcn.10013100
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10012bd3
cmp byte [eax], 0x5c
jne 0x10012bd1
inc eax
cmp eax, ecx
je 0x10012bd1
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10012bbe
mov dl, byte [eax]
cmp dl, 0x28
je 0x10012bcf
cmp dl, 0x29
je 0x10012bcf
test cl, 0x10
jne 0x10012bd1
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10012bcf
cmp cl, 0x7d
jne 0x10012bd1
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10010160
jmp 0x10012e41
cmp eax, 0x5c
jne 0x10012cc0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10012c24
cmp byte [eax], 0x5c
jne 0x10012c22
inc eax
cmp eax, ecx
je 0x10012c22
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10012c0f
mov dl, byte [eax]
cmp dl, 0x28
je 0x10012c20
cmp dl, 0x29
je 0x10012c20
test cl, 0x10
jne 0x10012c22
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10012c20
cmp cl, 0x7d
jne 0x10012c22
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10010160
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x10012c8d
cmp byte [esi + 0x48], 0x62
jne 0x10012c8d
push 4
lea ecx, [esi + 0x24]
call fcn.10013100
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10012c81
cmp byte [eax], 0x5c
jne 0x10012c7f
inc eax
cmp eax, ecx
je 0x10012c7f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10012c6c
mov cl, byte [eax]
cmp cl, 0x28
je 0x10012c7d
cmp cl, 0x29
je 0x10012c7d
test dl, 0x10
jne 0x10012c7f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10012c7d
cmp cl, 0x7d
jne 0x10012c7f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10010160
jmp 0x10012e48
test eax, eax
je 0x10012cb4
cmp byte [esi + 0x48], 0x42
jne 0x10012cb4
push 4
lea ecx, [esi + 0x24]
call fcn.10013100
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.10012b00
jmp 0x10012e48
mov ecx, esi
call fcn.10014d20
jmp 0x10012e41
cmp eax, 0x5b
jne 0x10012d65
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10012d05
cmp byte [eax], 0x5c
jne 0x10012d03
inc eax
cmp eax, ecx
je 0x10012d03
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10012cf0
mov dl, byte [eax]
cmp dl, 0x28
je 0x10012d01
cmp dl, 0x29
je 0x10012d01
test cl, 0x10
jne 0x10012d03
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10012d01
cmp cl, 0x7d
jne 0x10012d03
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10010160
mov ecx, esi
call fcn.10014cb0
cmp dword [esi + 0x4c], 0x5d
jne 0x10012e63
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10012d59
cmp byte [eax], 0x5c
jne 0x10012d57
inc eax
cmp eax, ecx
je 0x10012d57
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10012d44
mov dl, byte [eax]
cmp dl, 0x28
je 0x10012d55
cmp dl, 0x29
je 0x10012d55
test cl, 0x10
jne 0x10012d57
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10012d55
cmp cl, 0x7d
jne 0x10012d57
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10010160
jmp 0x10012e41
cmp eax, 0x28
jne 0x10012dcd
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10012da6
cmp byte [eax], 0x5c
jne 0x10012da4
inc eax
cmp eax, ecx
je 0x10012da4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10012d91
mov dl, byte [eax]
cmp dl, 0x28
je 0x10012da2
cmp dl, 0x29
je 0x10012da2
test cl, 0x10
jne 0x10012da4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10012da2
cmp cl, 0x7d
jne 0x10012da4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10010160
mov ecx, esi
call fcn.10014de0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x10012e5c
mov ecx, esi
call fcn.10012b00
test bl, bl
je 0x10012e48
jmp 0x10012e41
cmp eax, 0x5e
jne 0x10012de5
push 2
lea ecx, [esi + 0x24]
call fcn.10013100
mov ecx, esi
call fcn.10012b00
jmp 0x10012e48
cmp eax, 0x24
jne 0x10012dfd
push 3
lea ecx, [esi + 0x24]
call fcn.10013100
mov ecx, esi
call fcn.10012b00
jmp 0x10012e48
cmp eax, 0x2a
je 0x10012e71
cmp eax, 0x2b
je 0x10012e71
cmp eax, 0x3f
je 0x10012e71
cmp eax, 0x7b
je 0x10012e71
cmp eax, 0x7d
jne 0x10012e1f
test dword [esi + 0x50], 0x10000000
je 0x10012e6a
cmp eax, 0x5d
jne 0x10012e2d
test dword [esi + 0x50], 0x10000000
je 0x10012e63
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10014fd0
mov ecx, esi
call fcn.10012b00
mov ecx, esi
call fcn.10014ea0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10012b63
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 5
call fcn.1008b649
push 4
call fcn.1008b649
push 6
call fcn.1008b649
push 0xa
call fcn.1008b649
int3