Function at 0x14a1ad0
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 0x14a1f37
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x14a1f37
cmp eax, 0x29
jne 0x14a1b10
cmp dword [esi + 0x10], 0
jne 0x14a1f37
test dword [esi + 0x50], 0x10000000
je 0x14a1f44
jmp 0x14a1ed0
cmp eax, 0x2e
jne 0x14a1b63
push 5
lea ecx, [esi + 0x24]
call fcn.014a1f60
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x14a1f18
cmp byte [eax], 0x5c
jne 0x14a1d1f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x14a1d1f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x14a1b5b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x14a1d1d
cmp dl, 0x29
je 0x14a1d1d
test bl, 0x10
jmp 0x14a1d0f
cmp eax, 0x5c
jne 0x14a1c81
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x14a1baa
cmp byte [eax], 0x5c
jne 0x14a1ba7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x14a1ba7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x14a1b94
mov dl, byte [ecx]
cmp dl, 0x28
je 0x14a1ba5
cmp dl, 0x29
je 0x14a1ba5
test bl, 0x10
jne 0x14a1ba7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x14a1ba5
cmp dl, 0x7d
jne 0x14a1ba7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0149e940
test byte [esi + 0x50], 0x80
je 0x14a1c75
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x14a1c16
push 4
lea ecx, [esi + 0x24]
call fcn.014a1f60
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x14a1c0a
cmp byte [eax], 0x5c
jne 0x14a1c07
lea ecx, [eax + 1]
cmp ecx, edx
je 0x14a1c07
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x14a1bf4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x14a1c05
cmp dl, 0x29
je 0x14a1c05
test bl, 0x10
jne 0x14a1c07
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x14a1c05
cmp dl, 0x7d
jne 0x14a1c07
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0149e940
jmp 0x14a1f29
cmp al, 0x42
jne 0x14a1c75
push 4
lea ecx, [esi + 0x24]
call fcn.014a1f60
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x14a1c69
cmp byte [eax], 0x5c
jne 0x14a1c66
lea ecx, [eax + 1]
cmp ecx, edx
je 0x14a1c66
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x14a1c53
mov al, byte [ecx]
cmp al, 0x28
je 0x14a1c64
cmp al, 0x29
je 0x14a1c64
mov eax, dword [esi]
test dl, 0x10
jne 0x14a1c66
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x14a1c64
cmp dl, 0x7d
jne 0x14a1c66
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0149e940
jmp 0x14a1f29
mov ecx, esi
call fcn.014a3480
jmp 0x14a1f1f
cmp eax, 0x5b
jne 0x14a1d27
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x14a1cc8
cmp byte [eax], 0x5c
jne 0x14a1cc5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x14a1cc5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x14a1cb2
mov al, byte [ecx]
cmp al, 0x28
je 0x14a1cc3
cmp al, 0x29
je 0x14a1cc3
mov eax, dword [esi]
test dl, 0x10
jne 0x14a1cc5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x14a1cc3
cmp dl, 0x7d
jne 0x14a1cc5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0149e940
mov ecx, esi
call fcn.014a3350
cmp dword [esi + 0x4c], 0x5d
jne 0x14a1f52
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x14a1f18
cmp byte [eax], 0x5c
jne 0x14a1d1f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x14a1d1f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x14a1d0c
mov al, byte [ecx]
cmp al, 0x28
je 0x14a1d1d
cmp al, 0x29
je 0x14a1d1d
mov eax, dword [esi]
test dl, 0x10
jne 0x14a1d1f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x14a1d1d
cmp dl, 0x7d
jne 0x14a1d1f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x14a1f18
cmp eax, 0x28
jne 0x14a1dda
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x14a1d6e
cmp byte [eax], 0x5c
jne 0x14a1d6b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x14a1d6b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x14a1d58
mov al, byte [ecx]
cmp al, 0x28
je 0x14a1d69
cmp al, 0x29
je 0x14a1d69
mov eax, dword [esi]
test dl, 0x10
jne 0x14a1d6b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x14a1d69
cmp dl, 0x7d
jne 0x14a1d6b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0149e940
mov ecx, esi
call fcn.014a35d0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x14a1f44
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x14a1dc6
cmp byte [eax], 0x5c
jne 0x14a1dc3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x14a1dc3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x14a1db0
mov al, byte [ecx]
cmp al, 0x28
je 0x14a1dc1
cmp al, 0x29
je 0x14a1dc1
mov eax, dword [esi]
test dl, 0x10
jne 0x14a1dc3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x14a1dc1
cmp dl, 0x7d
jne 0x14a1dc3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0149e940
test bl, bl
je 0x14a1f29
jmp 0x14a1f1f
cmp eax, 0x5e
jne 0x14a1e30
push 2
lea ecx, [esi + 0x24]
call fcn.014a1f60
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x14a1e24
cmp byte [eax], 0x5c
jne 0x14a1e22
inc eax
cmp eax, ecx
je 0x14a1e22
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x14a1e0f
mov dl, byte [eax]
cmp dl, 0x28
je 0x14a1e20
cmp dl, 0x29
je 0x14a1e20
test cl, 0x10
jne 0x14a1e22
mov cl, byte [eax]
cmp cl, 0x7b
je 0x14a1e20
cmp cl, 0x7d
jne 0x14a1e22
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0149e940
jmp 0x14a1f29
cmp eax, 0x24
jne 0x14a1e86
push 3
lea ecx, [esi + 0x24]
call fcn.014a1f60
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x14a1e7a
cmp byte [eax], 0x5c
jne 0x14a1e78
inc eax
cmp eax, ecx
je 0x14a1e78
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x14a1e65
mov dl, byte [eax]
cmp dl, 0x28
je 0x14a1e76
cmp dl, 0x29
je 0x14a1e76
test cl, 0x10
jne 0x14a1e78
mov cl, byte [eax]
cmp cl, 0x7b
je 0x14a1e76
cmp cl, 0x7d
jne 0x14a1e78
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0149e940
jmp 0x14a1f29
cmp eax, 0x2a
je 0x14a1f3d
cmp eax, 0x2b
je 0x14a1f3d
cmp eax, 0x3f
je 0x14a1f3d
cmp eax, 0x7b
je 0x14a1f3d
cmp eax, 0x7d
jne 0x14a1ebe
test dword [esi + 0x50], 0x10000000
je 0x14a1f4b
jmp 0x14a1ed0
cmp eax, 0x5d
jne 0x14a1ed0
test dword [esi + 0x50], 0x10000000
je 0x14a1f52
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.014a3a60
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x14a1f18
cmp byte [eax], 0x5c
jne 0x14a1f16
inc eax
cmp eax, ecx
je 0x14a1f16
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x14a1f03
mov dl, byte [eax]
cmp dl, 0x28
je 0x14a1f14
cmp dl, 0x29
je 0x14a1f14
test cl, 0x10
jne 0x14a1f16
mov cl, byte [eax]
cmp cl, 0x7b
je 0x14a1f14
cmp cl, 0x7d
jne 0x14a1f16
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0149e940
mov ecx, esi
call fcn.014a3830
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x14a1ae6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0149e930
push 5
call fcn.0149e930
push 6
call fcn.0149e930
push 4
call fcn.0149e930
int3