Function at 0x1000c660
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1000ca94
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x1000ca92
cmp eax, 0x29
jne 0x1000c6a0
cmp dword [esi + 0x10], 0
jne 0x1000ca92
test dword [esi + 0x50], 0x10000000
je 0x1000caa1
jmp 0x1000ca2b
cmp eax, 0x2e
jne 0x1000c6f6
push 5
lea ecx, [esi + 0x24]
call fcn.1000edd0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000ca73
cmp byte [eax], 0x5c
jne 0x1000c6ee
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c6ee
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000c6db
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000c6ec
cmp dl, 0x29
je 0x1000c6ec
test bl, 0x10
jne 0x1000c6ee
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c6ec
cmp dl, 0x7d
jne 0x1000c6ee
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1000ca73
cmp eax, 0x5c
jne 0x1000c814
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c73d
cmp byte [eax], 0x5c
jne 0x1000c73a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c73a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000c727
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000c738
cmp dl, 0x29
je 0x1000c738
test bl, 0x10
jne 0x1000c73a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c738
cmp dl, 0x7d
jne 0x1000c73a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f2e0
test byte [esi + 0x50], 0x80
je 0x1000c808
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1000c7a9
push 4
lea ecx, [esi + 0x24]
call fcn.1000edd0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c79d
cmp byte [eax], 0x5c
jne 0x1000c79a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c79a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000c787
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1000c798
cmp dl, 0x29
je 0x1000c798
test bl, 0x10
jne 0x1000c79a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c798
cmp dl, 0x7d
jne 0x1000c79a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f2e0
jmp 0x1000ca84
cmp al, 0x42
jne 0x1000c808
push 4
lea ecx, [esi + 0x24]
call fcn.1000edd0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c7fc
cmp byte [eax], 0x5c
jne 0x1000c7f9
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c7f9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000c7e6
mov al, byte [ecx]
cmp al, 0x28
je 0x1000c7f7
cmp al, 0x29
je 0x1000c7f7
mov eax, dword [esi]
test dl, 0x10
jne 0x1000c7f9
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c7f7
cmp dl, 0x7d
jne 0x1000c7f9
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f2e0
jmp 0x1000ca84
mov ecx, esi
call fcn.1000cac0
jmp 0x1000ca7a
cmp eax, 0x5b
jne 0x1000c8be
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c85b
cmp byte [eax], 0x5c
jne 0x1000c858
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c858
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000c845
mov al, byte [ecx]
cmp al, 0x28
je 0x1000c856
cmp al, 0x29
je 0x1000c856
mov eax, dword [esi]
test dl, 0x10
jne 0x1000c858
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c856
cmp dl, 0x7d
jne 0x1000c858
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f2e0
lea ecx, [esi + 0x24]
call fcn.1000bec0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1000c883
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1000ee40
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x1000c8a1
cmp eax, 0x5d
jne 0x1000c8a1
push eax
lea ecx, [esi + 0x24]
call fcn.1000be50
mov ecx, esi
call fcn.1000ee40
mov ecx, esi
call fcn.1000d380
cmp dword [esi + 0x4c], 0x5d
jne 0x1000cab3
mov ecx, esi
call fcn.1000ee40
jmp 0x1000ca7a
cmp eax, 0x28
jne 0x1000c92f
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c901
cmp byte [eax], 0x5c
jne 0x1000c8fe
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c8fe
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000c8eb
mov al, byte [ecx]
cmp al, 0x28
je 0x1000c8fc
cmp al, 0x29
je 0x1000c8fc
mov eax, dword [esi]
test dl, 0x10
jne 0x1000c8fe
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c8fc
cmp dl, 0x7d
jne 0x1000c8fe
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f2e0
mov ecx, esi
call fcn.1000f520
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1000caa1
mov ecx, esi
call fcn.1000ee40
test bl, bl
je 0x1000ca84
jmp 0x1000ca7a
cmp eax, 0x5e
jne 0x1000c988
push 2
lea ecx, [esi + 0x24]
call fcn.1000edd0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c97c
cmp byte [eax], 0x5c
jne 0x1000c979
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c979
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000c966
mov al, byte [ecx]
cmp al, 0x28
je 0x1000c977
cmp al, 0x29
je 0x1000c977
mov eax, dword [esi]
test dl, 0x10
jne 0x1000c979
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c977
cmp dl, 0x7d
jne 0x1000c979
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f2e0
jmp 0x1000ca84
cmp eax, 0x24
jne 0x1000c9e1
push 3
lea ecx, [esi + 0x24]
call fcn.1000edd0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000c9d5
cmp byte [eax], 0x5c
jne 0x1000c9d2
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000c9d2
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000c9bf
mov al, byte [ecx]
cmp al, 0x28
je 0x1000c9d0
cmp al, 0x29
je 0x1000c9d0
mov eax, dword [esi]
test dl, 0x10
jne 0x1000c9d2
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1000c9d0
cmp dl, 0x7d
jne 0x1000c9d2
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000f2e0
jmp 0x1000ca84
cmp eax, 0x2a
je 0x1000ca98
cmp eax, 0x2b
je 0x1000ca98
cmp eax, 0x3f
je 0x1000ca98
cmp eax, 0x7b
je 0x1000ca98
cmp eax, 0x7d
jne 0x1000ca19
test dword [esi + 0x50], 0x10000000
je 0x1000caaa
jmp 0x1000ca2b
cmp eax, 0x5d
jne 0x1000ca2b
test dword [esi + 0x50], 0x10000000
je 0x1000cab3
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1000bca0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000ca73
cmp byte [eax], 0x5c
jne 0x1000ca71
inc eax
cmp eax, ecx
je 0x1000ca71
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000ca5e
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000ca6f
cmp dl, 0x29
je 0x1000ca6f
test cl, 0x10
jne 0x1000ca71
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000ca6f
cmp cl, 0x7d
jne 0x1000ca71
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1000f2e0
mov ecx, esi
call fcn.1000eea0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1000c676
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.1000e1d0
push 5
mov ecx, esi
call fcn.1000e1d0
push 6
mov ecx, esi
call fcn.1000e1d0
push 4
mov ecx, esi
call fcn.1000e1d0
int3