Function at 0x10062e70
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x10063372
cmp eax, 0x7c
je 0x10063372
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x10062eb4
cmp dword [esi + 0x10], 0
jne 0x10063372
test dword [esi + 0x50], 0x10000000
je 0x10063382
jmp 0x10063307
cmp eax, 0x2e
jne 0x10062f24
push 5
lea ecx, [esi + 0x24]
call fcn.100633a0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1006334e
cmp byte [eax], 0x5c
jne 0x10063134
lea edx, [eax + 1]
cmp edx, ecx
je 0x10063134
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10062efe
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x10062f19
cmp byte [ebp - 1], 0x29
je 0x10062f19
test bl, 0x10
jne 0x10063134
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10062f19
cmp dl, 0x7d
jne 0x10063134
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x1006334e
cmp eax, 0x5c
jne 0x1006306f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10062f75
cmp byte [eax], 0x5c
jne 0x10062f72
lea edx, [eax + 1]
cmp edx, ecx
je 0x10062f72
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10062f5c
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x10062f6f
cmp byte [ebp - 1], 0x29
je 0x10062f6f
test bl, 0x10
jne 0x10062f72
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10062f6f
cmp dl, 0x7d
jne 0x10062f72
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10061dc0
test byte [esi + 0x50], 0x80
je 0x10063063
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x10062fe9
push 4
lea ecx, [esi + 0x24]
call fcn.100633a0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10062fdd
cmp byte [eax], 0x5c
jne 0x10062fda
lea edx, [eax + 1]
cmp edx, ecx
je 0x10062fda
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10062fc4
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x10062fd7
cmp bl, 0x29
je 0x10062fd7
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x10062fda
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10062fd7
cmp dl, 0x7d
jne 0x10062fda
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10061dc0
jmp 0x1006335f
cmp al, 0x42
jne 0x10063063
push 4
lea ecx, [esi + 0x24]
call fcn.100633a0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10063057
cmp byte [eax], 0x5c
jne 0x10063054
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x10063052
test byte [esi + 0x50], 8
jne 0x1006302a
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x10063040
cmp cl, 0x29
je 0x10063040
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10063052
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x10063040
mov edx, ecx
cmp bl, 0x7d
jne 0x10063052
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.10061dc0
jmp 0x1006335f
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10061dc0
jmp 0x1006335f
mov ecx, esi
call fcn.10063e70
jmp 0x10063355
cmp eax, 0x5b
jne 0x1006313c
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100630c8
cmp byte [eax], 0x5c
jne 0x100630c2
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x100630c0
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100630a6
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x100630bb
cmp cl, 0x29
je 0x100630bb
mov ecx, eax
test bl, 0x10
jne 0x100630c0
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x100630bb
mov edx, ecx
cmp bl, 0x7d
jne 0x100630c0
lea eax, [edx + 1]
jmp 0x100630c2
mov eax, ecx
inc eax
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.10061dc0
mov ecx, esi
call fcn.10063d30
cmp dword [esi + 0x4c], 0x5d
jne 0x10063390
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1006334e
cmp byte [eax], 0x5c
jne 0x10063134
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x10063132
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10063112
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x10063127
cmp cl, 0x29
je 0x10063127
mov ecx, eax
test bl, 0x10
jne 0x10063132
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x10063127
mov edx, ecx
cmp bl, 0x7d
jne 0x10063132
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x1006334e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1006334e
cmp eax, 0x28
jne 0x10063212
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10063191
cmp byte [eax], 0x5c
jne 0x1006318e
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x1006318c
test byte [esi + 0x50], 8
jne 0x10063171
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x10063187
cmp cl, 0x29
je 0x10063187
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1006318c
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x10063187
mov edx, ecx
cmp bl, 0x7d
jne 0x1006318c
lea eax, [edx + 1]
jmp 0x1006318e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10061dc0
mov ecx, esi
call fcn.10063fc0
cmp dword [esi + 0x4c], 0x29
mov bl, al
mov byte [ebp - 1], bl
jne 0x10063382
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x100631fe
cmp byte [eax], 0x5c
jne 0x100631fb
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x100631f6
test byte [esi + 0x50], 8
jne 0x100631db
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x100631f1
cmp cl, 0x29
je 0x100631f1
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x100631f6
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x100631f1
mov edx, ecx
cmp bl, 0x7d
jne 0x100631f6
lea eax, [edx + 1]
jmp 0x100631f8
mov eax, ecx
mov bl, byte [ebp - 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10061dc0
test bl, bl
je 0x1006335f
jmp 0x10063355
cmp eax, 0x5e
jne 0x10063266
push 2
lea ecx, [esi + 0x24]
call fcn.100633a0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1006325a
cmp byte [eax], 0x5c
jne 0x10063258
inc eax
cmp eax, ecx
je 0x10063258
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10063247
mov dl, byte [eax]
cmp dl, 0x28
je 0x10063256
cmp dl, 0x29
je 0x10063256
test cl, 0x10
jne 0x10063258
mov al, byte [eax]
cmp al, 0x7b
je 0x10063256
cmp al, 0x7d
jne 0x10063258
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10061dc0
jmp 0x1006335f
cmp eax, 0x24
jne 0x100632bd
push 3
lea ecx, [esi + 0x24]
call fcn.100633a0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100632b1
cmp byte [eax], 0x5c
jne 0x100632af
inc eax
cmp eax, ecx
je 0x100632af
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1006329e
mov dl, byte [eax]
cmp dl, 0x28
je 0x100632ad
cmp dl, 0x29
je 0x100632ad
test cl, 0x10
jne 0x100632af
mov al, byte [eax]
cmp al, 0x7b
je 0x100632ad
cmp al, 0x7d
jne 0x100632af
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10061dc0
jmp 0x1006335f
cmp eax, 0x2a
je 0x1006337b
cmp eax, 0x2b
je 0x1006337b
cmp eax, 0x3f
je 0x1006337b
cmp eax, 0x7b
je 0x1006337b
cmp eax, 0x7d
jne 0x100632f5
test dword [esi + 0x50], 0x10000000
je 0x10063389
jmp 0x10063307
cmp eax, 0x5d
jne 0x10063307
test dword [esi + 0x50], 0x10000000
je 0x10063390
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10064440
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1006334e
cmp byte [eax], 0x5c
jne 0x1006334c
inc eax
cmp eax, ecx
je 0x1006334c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1006333b
mov dl, byte [eax]
cmp dl, 0x28
je 0x1006334a
cmp dl, 0x29
je 0x1006334a
test cl, 0x10
jne 0x1006334c
mov al, byte [eax]
cmp al, 0x7b
je 0x1006334a
cmp al, 0x7d
jne 0x1006334c
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10061dc0
mov ecx, esi
call fcn.10064220
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x10063372
cmp eax, 0x7c
jne 0x10062e93
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.10061db0
push 5
call fcn.10061db0
push 6
call fcn.10061db0
push 4
call fcn.10061db0
int3