Function at 0x1000c510
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1000c9ae
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x1000c9ac
cmp eax, 0x29
jne 0x1000c550
cmp dword [esi + 0x10], 0
jne 0x1000c9ac
test dword [esi + 0x50], 0x10000000
je 0x1000c9bb
jmp 0x1000c946
cmp eax, 0x2e
jne 0x1000c5ba
push 5
lea ecx, [esi + 0x24]
call fcn.1000ebf0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c98d
cmp byte [eax], 0x5c
jne 0x1000c5b2
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x1000c5b0
test byte [esi + 0x50], 8
jne 0x1000c58f
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x1000c5a5
cmp cl, 0x29
je 0x1000c5a5
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1000c5b0
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x1000c5a5
mov edx, ecx
cmp bl, 0x7d
jne 0x1000c5b0
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x1000c98d
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1000c98d
cmp eax, 0x5c
jne 0x1000c709
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c60f
cmp byte [eax], 0x5c
jne 0x1000c60c
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x1000c60a
test byte [esi + 0x50], 8
jne 0x1000c5ef
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x1000c605
cmp cl, 0x29
je 0x1000c605
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1000c60a
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x1000c605
mov edx, ecx
cmp bl, 0x7d
jne 0x1000c60a
lea eax, [edx + 1]
jmp 0x1000c60c
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f110
test byte [esi + 0x50], 0x80
je 0x1000c6fd
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1000c696
push 4
lea ecx, [esi + 0x24]
call fcn.1000ebf0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c68a
cmp byte [eax], 0x5c
jne 0x1000c687
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x1000c685
test byte [esi + 0x50], 8
jne 0x1000c65d
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x1000c673
cmp cl, 0x29
je 0x1000c673
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1000c685
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x1000c673
mov edx, ecx
cmp bl, 0x7d
jne 0x1000c685
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.1000f110
jmp 0x1000c99e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f110
jmp 0x1000c99e
cmp al, 0x42
jne 0x1000c6fd
push 4
lea ecx, [esi + 0x24]
call fcn.1000ebf0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000c6f1
cmp byte [eax], 0x5c
jne 0x1000c6ee
lea ebx, [eax + 1]
cmp ebx, ecx
je 0x1000c6ee
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000c6d8
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x28
je 0x1000c6eb
cmp dl, 0x29
je 0x1000c6eb
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1000c6ee
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x7b
je 0x1000c6eb
cmp dl, 0x7d
jne 0x1000c6ee
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f110
jmp 0x1000c99e
mov ecx, esi
call fcn.1000c9e0
jmp 0x1000c994
cmp eax, 0x5b
jne 0x1000c7bb
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000c758
cmp byte [eax], 0x5c
jne 0x1000c755
lea edx, [eax + 1]
cmp edx, ecx
je 0x1000c755
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000c73f
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x1000c752
cmp bl, 0x29
je 0x1000c752
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1000c755
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x1000c752
cmp dl, 0x7d
jne 0x1000c755
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f110
lea ecx, [esi + 0x24]
call fcn.1000bd70
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1000c780
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1000ec60
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x1000c79e
cmp eax, 0x5d
jne 0x1000c79e
push eax
lea ecx, [esi + 0x24]
call fcn.1000bd00
mov ecx, esi
call fcn.1000ec60
mov ecx, esi
call fcn.1000d3e0
cmp dword [esi + 0x4c], 0x5d
jne 0x1000c9cd
mov ecx, esi
call fcn.1000ec60
jmp 0x1000c994
cmp eax, 0x28
jne 0x1000c834
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000c806
cmp byte [eax], 0x5c
jne 0x1000c803
lea edx, [eax + 1]
cmp edx, ecx
je 0x1000c803
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000c7ed
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x1000c800
cmp bl, 0x29
je 0x1000c800
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1000c803
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x1000c800
cmp dl, 0x7d
jne 0x1000c803
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f110
mov ecx, esi
call fcn.1000f310
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1000c9bb
mov ecx, esi
call fcn.1000ec60
test bl, bl
je 0x1000c99e
jmp 0x1000c994
cmp eax, 0x5e
jne 0x1000c898
push 2
lea ecx, [esi + 0x24]
call fcn.1000ebf0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000c88c
cmp byte [eax], 0x5c
jne 0x1000c889
lea edx, [eax + 1]
cmp edx, ecx
je 0x1000c889
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000c873
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x1000c886
cmp bl, 0x29
je 0x1000c886
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1000c889
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x1000c886
cmp dl, 0x7d
jne 0x1000c889
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f110
jmp 0x1000c99e
cmp eax, 0x24
jne 0x1000c8fc
push 3
lea ecx, [esi + 0x24]
call fcn.1000ebf0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000c8f0
cmp byte [eax], 0x5c
jne 0x1000c8ed
lea edx, [eax + 1]
cmp edx, ecx
je 0x1000c8ed
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000c8d7
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x1000c8ea
cmp bl, 0x29
je 0x1000c8ea
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1000c8ed
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x1000c8ea
cmp dl, 0x7d
jne 0x1000c8ed
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f110
jmp 0x1000c99e
cmp eax, 0x2a
je 0x1000c9b2
cmp eax, 0x2b
je 0x1000c9b2
cmp eax, 0x3f
je 0x1000c9b2
cmp eax, 0x7b
je 0x1000c9b2
cmp eax, 0x7d
jne 0x1000c934
test dword [esi + 0x50], 0x10000000
je 0x1000c9c4
jmp 0x1000c946
cmp eax, 0x5d
jne 0x1000c946
test dword [esi + 0x50], 0x10000000
je 0x1000c9cd
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1000bb50
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000c98d
cmp byte [eax], 0x5c
jne 0x1000c98b
inc eax
cmp eax, ecx
je 0x1000c98b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000c97a
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000c989
cmp dl, 0x29
je 0x1000c989
test cl, 0x10
jne 0x1000c98b
mov al, byte [eax]
cmp al, 0x7b
je 0x1000c989
cmp al, 0x7d
jne 0x1000c98b
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.1000f110
mov ecx, esi
call fcn.1000ecc0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1000c526
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.1000e120
push 5
mov ecx, esi
call fcn.1000e120
push 6
mov ecx, esi
call fcn.1000e120
push 4
mov ecx, esi
call fcn.1000e120
int3