Function at 0x1003c9b0
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 0x1003ce17
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x1003ce17
cmp eax, 0x29
jne 0x1003c9f0
cmp dword [esi + 0x10], 0
jne 0x1003ce17
test dword [esi + 0x50], 0x10000000
je 0x1003ce24
jmp 0x1003cdb0
cmp eax, 0x2e
jne 0x1003ca43
push 5
lea ecx, [esi + 0x24]
call fcn.1003ce40
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003cdf8
cmp byte [eax], 0x5c
jne 0x1003cbff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003cbff
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1003ca3b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1003cbfd
cmp dl, 0x29
je 0x1003cbfd
test bl, 0x10
jmp 0x1003cbef
cmp eax, 0x5c
jne 0x1003cb61
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003ca8a
cmp byte [eax], 0x5c
jne 0x1003ca87
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003ca87
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1003ca74
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1003ca85
cmp dl, 0x29
je 0x1003ca85
test bl, 0x10
jne 0x1003ca87
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003ca85
cmp dl, 0x7d
jne 0x1003ca87
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003bad0
test byte [esi + 0x50], 0x80
je 0x1003cb55
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1003caf6
push 4
lea ecx, [esi + 0x24]
call fcn.1003ce40
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003caea
cmp byte [eax], 0x5c
jne 0x1003cae7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003cae7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1003cad4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1003cae5
cmp dl, 0x29
je 0x1003cae5
test bl, 0x10
jne 0x1003cae7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003cae5
cmp dl, 0x7d
jne 0x1003cae7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003bad0
jmp 0x1003ce09
cmp al, 0x42
jne 0x1003cb55
push 4
lea ecx, [esi + 0x24]
call fcn.1003ce40
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003cb49
cmp byte [eax], 0x5c
jne 0x1003cb46
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003cb46
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003cb33
mov al, byte [ecx]
cmp al, 0x28
je 0x1003cb44
cmp al, 0x29
je 0x1003cb44
mov eax, dword [esi]
test dl, 0x10
jne 0x1003cb46
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003cb44
cmp dl, 0x7d
jne 0x1003cb46
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003bad0
jmp 0x1003ce09
mov ecx, esi
call fcn.1003df40
jmp 0x1003cdff
cmp eax, 0x5b
jne 0x1003cc07
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003cba8
cmp byte [eax], 0x5c
jne 0x1003cba5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003cba5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003cb92
mov al, byte [ecx]
cmp al, 0x28
je 0x1003cba3
cmp al, 0x29
je 0x1003cba3
mov eax, dword [esi]
test dl, 0x10
jne 0x1003cba5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003cba3
cmp dl, 0x7d
jne 0x1003cba5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003bad0
mov ecx, esi
call fcn.1003de00
cmp dword [esi + 0x4c], 0x5d
jne 0x1003ce32
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003cdf8
cmp byte [eax], 0x5c
jne 0x1003cbff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003cbff
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003cbec
mov al, byte [ecx]
cmp al, 0x28
je 0x1003cbfd
cmp al, 0x29
je 0x1003cbfd
mov eax, dword [esi]
test dl, 0x10
jne 0x1003cbff
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003cbfd
cmp dl, 0x7d
jne 0x1003cbff
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1003cdf8
cmp eax, 0x28
jne 0x1003ccba
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003cc4e
cmp byte [eax], 0x5c
jne 0x1003cc4b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003cc4b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003cc38
mov al, byte [ecx]
cmp al, 0x28
je 0x1003cc49
cmp al, 0x29
je 0x1003cc49
mov eax, dword [esi]
test dl, 0x10
jne 0x1003cc4b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003cc49
cmp dl, 0x7d
jne 0x1003cc4b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003bad0
mov ecx, esi
call fcn.1003e090
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1003ce24
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003cca6
cmp byte [eax], 0x5c
jne 0x1003cca3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003cca3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003cc90
mov al, byte [ecx]
cmp al, 0x28
je 0x1003cca1
cmp al, 0x29
je 0x1003cca1
mov eax, dword [esi]
test dl, 0x10
jne 0x1003cca3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003cca1
cmp dl, 0x7d
jne 0x1003cca3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003bad0
test bl, bl
je 0x1003ce09
jmp 0x1003cdff
cmp eax, 0x5e
jne 0x1003cd10
push 2
lea ecx, [esi + 0x24]
call fcn.1003ce40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1003cd04
cmp byte [eax], 0x5c
jne 0x1003cd02
inc eax
cmp eax, ecx
je 0x1003cd02
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003ccef
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003cd00
cmp dl, 0x29
je 0x1003cd00
test cl, 0x10
jne 0x1003cd02
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003cd00
cmp cl, 0x7d
jne 0x1003cd02
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003bad0
jmp 0x1003ce09
cmp eax, 0x24
jne 0x1003cd66
push 3
lea ecx, [esi + 0x24]
call fcn.1003ce40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1003cd5a
cmp byte [eax], 0x5c
jne 0x1003cd58
inc eax
cmp eax, ecx
je 0x1003cd58
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003cd45
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003cd56
cmp dl, 0x29
je 0x1003cd56
test cl, 0x10
jne 0x1003cd58
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003cd56
cmp cl, 0x7d
jne 0x1003cd58
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003bad0
jmp 0x1003ce09
cmp eax, 0x2a
je 0x1003ce1d
cmp eax, 0x2b
je 0x1003ce1d
cmp eax, 0x3f
je 0x1003ce1d
cmp eax, 0x7b
je 0x1003ce1d
cmp eax, 0x7d
jne 0x1003cd9e
test dword [esi + 0x50], 0x10000000
je 0x1003ce2b
jmp 0x1003cdb0
cmp eax, 0x5d
jne 0x1003cdb0
test dword [esi + 0x50], 0x10000000
je 0x1003ce32
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1003e420
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1003cdf8
cmp byte [eax], 0x5c
jne 0x1003cdf6
inc eax
cmp eax, ecx
je 0x1003cdf6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003cde3
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003cdf4
cmp dl, 0x29
je 0x1003cdf4
test cl, 0x10
jne 0x1003cdf6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003cdf4
cmp cl, 0x7d
jne 0x1003cdf6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003bad0
mov ecx, esi
call fcn.1003e1f0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1003c9c6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.1003bac0
push 5
call fcn.1003bac0
push 6
call fcn.1003bac0
push 4
call fcn.1003bac0
int3