Function at 0x10014770
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 0x10014bd7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x10014bd7
cmp eax, 0x29
jne 0x100147b0
cmp dword [esi + 0x10], 0
jne 0x10014bd7
test dword [esi + 0x50], 0x10000000
je 0x10014be4
jmp 0x10014b70
cmp eax, 0x2e
jne 0x10014803
push 5
lea ecx, [esi + 0x24]
call fcn.10014c00
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10014bb8
cmp byte [eax], 0x5c
jne 0x100149bf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100149bf
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100147fb
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100149bd
cmp dl, 0x29
je 0x100149bd
test bl, 0x10
jmp 0x100149af
cmp eax, 0x5c
jne 0x10014921
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1001484a
cmp byte [eax], 0x5c
jne 0x10014847
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10014847
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10014834
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10014845
cmp dl, 0x29
je 0x10014845
test bl, 0x10
jne 0x10014847
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10014845
cmp dl, 0x7d
jne 0x10014847
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100137f0
test byte [esi + 0x50], 0x80
je 0x10014915
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x100148b6
push 4
lea ecx, [esi + 0x24]
call fcn.10014c00
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100148aa
cmp byte [eax], 0x5c
jne 0x100148a7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100148a7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10014894
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100148a5
cmp dl, 0x29
je 0x100148a5
test bl, 0x10
jne 0x100148a7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100148a5
cmp dl, 0x7d
jne 0x100148a7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100137f0
jmp 0x10014bc9
cmp al, 0x42
jne 0x10014915
push 4
lea ecx, [esi + 0x24]
call fcn.10014c00
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10014909
cmp byte [eax], 0x5c
jne 0x10014906
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10014906
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100148f3
mov al, byte [ecx]
cmp al, 0x28
je 0x10014904
cmp al, 0x29
je 0x10014904
mov eax, dword [esi]
test dl, 0x10
jne 0x10014906
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10014904
cmp dl, 0x7d
jne 0x10014906
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100137f0
jmp 0x10014bc9
mov ecx, esi
call fcn.10014e10
jmp 0x10014bbf
cmp eax, 0x5b
jne 0x100149c7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10014968
cmp byte [eax], 0x5c
jne 0x10014965
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10014965
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10014952
mov al, byte [ecx]
cmp al, 0x28
je 0x10014963
cmp al, 0x29
je 0x10014963
mov eax, dword [esi]
test dl, 0x10
jne 0x10014965
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10014963
cmp dl, 0x7d
jne 0x10014965
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100137f0
mov ecx, esi
call fcn.10014ce0
cmp dword [esi + 0x4c], 0x5d
jne 0x10014bf2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10014bb8
cmp byte [eax], 0x5c
jne 0x100149bf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100149bf
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100149ac
mov al, byte [ecx]
cmp al, 0x28
je 0x100149bd
cmp al, 0x29
je 0x100149bd
mov eax, dword [esi]
test dl, 0x10
jne 0x100149bf
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100149bd
cmp dl, 0x7d
jne 0x100149bf
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x10014bb8
cmp eax, 0x28
jne 0x10014a7a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10014a0e
cmp byte [eax], 0x5c
jne 0x10014a0b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10014a0b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100149f8
mov al, byte [ecx]
cmp al, 0x28
je 0x10014a09
cmp al, 0x29
je 0x10014a09
mov eax, dword [esi]
test dl, 0x10
jne 0x10014a0b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10014a09
cmp dl, 0x7d
jne 0x10014a0b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100137f0
mov ecx, esi
call fcn.10014f60
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x10014be4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10014a66
cmp byte [eax], 0x5c
jne 0x10014a63
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10014a63
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10014a50
mov al, byte [ecx]
cmp al, 0x28
je 0x10014a61
cmp al, 0x29
je 0x10014a61
mov eax, dword [esi]
test dl, 0x10
jne 0x10014a63
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10014a61
cmp dl, 0x7d
jne 0x10014a63
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100137f0
test bl, bl
je 0x10014bc9
jmp 0x10014bbf
cmp eax, 0x5e
jne 0x10014ad0
push 2
lea ecx, [esi + 0x24]
call fcn.10014c00
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10014ac4
cmp byte [eax], 0x5c
jne 0x10014ac2
inc eax
cmp eax, ecx
je 0x10014ac2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10014aaf
mov dl, byte [eax]
cmp dl, 0x28
je 0x10014ac0
cmp dl, 0x29
je 0x10014ac0
test cl, 0x10
jne 0x10014ac2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10014ac0
cmp cl, 0x7d
jne 0x10014ac2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100137f0
jmp 0x10014bc9
cmp eax, 0x24
jne 0x10014b26
push 3
lea ecx, [esi + 0x24]
call fcn.10014c00
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10014b1a
cmp byte [eax], 0x5c
jne 0x10014b18
inc eax
cmp eax, ecx
je 0x10014b18
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10014b05
mov dl, byte [eax]
cmp dl, 0x28
je 0x10014b16
cmp dl, 0x29
je 0x10014b16
test cl, 0x10
jne 0x10014b18
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10014b16
cmp cl, 0x7d
jne 0x10014b18
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100137f0
jmp 0x10014bc9
cmp eax, 0x2a
je 0x10014bdd
cmp eax, 0x2b
je 0x10014bdd
cmp eax, 0x3f
je 0x10014bdd
cmp eax, 0x7b
je 0x10014bdd
cmp eax, 0x7d
jne 0x10014b5e
test dword [esi + 0x50], 0x10000000
je 0x10014beb
jmp 0x10014b70
cmp eax, 0x5d
jne 0x10014b70
test dword [esi + 0x50], 0x10000000
je 0x10014bf2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10015330
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10014bb8
cmp byte [eax], 0x5c
jne 0x10014bb6
inc eax
cmp eax, ecx
je 0x10014bb6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10014ba3
mov dl, byte [eax]
cmp dl, 0x28
je 0x10014bb4
cmp dl, 0x29
je 0x10014bb4
test cl, 0x10
jne 0x10014bb6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10014bb4
cmp cl, 0x7d
jne 0x10014bb6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100137f0
mov ecx, esi
call fcn.10015100
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10014786
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.100137e0
push 5
call fcn.100137e0
push 6
call fcn.100137e0
push 4
call fcn.100137e0
int3