Function at 0xddbadd
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov ecx, dword [ebp + 8]
xor eax, eax
push esi
xor esi, esi
cmp ecx, esi
setne al
mov dword [ebp - 0xc], eax
cmp ecx, esi
jne 0xddbafa
lea ecx, [ebp - 4]
mov dword [ebp - 8], esi
cmp dword [ebp + 0x10], esi
je 0xddbe0b
mov edx, dword [ebp + 0xc]
push ebx
push edi
mov al, byte [edx]
test al, al
je 0xddbe09
cmp dword [ebp + 0x10], 5
jb 0xddbdf4
cmp al, 0x7b
jne 0xddbdf4
cmp byte [edx + 1], 0x71
jne 0xddbdf4
cmp byte [edx + 2], 0x70
jne 0xddbdf4
cmp byte [edx + 4], 0x7d
jne 0xddbdf4
cmp byte [edx + 3], 0x2d
mov dword [ebp - 0x14], esi
sete byte [ebp + 0xb]
add edx, 5
sub dword [ebp + 0x10], 5
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
mov edi, esi
mov dword [ebp - 0x10], esi
je 0xddbe09
mov bl, byte [edx]
test bl, bl
je 0xddbe00
cmp dword [ebp + 0x10], 5
jb 0xddbb99
cmp bl, 0x7b
jne 0xddbb99
cmp byte [edx + 1], 0x2f
jne 0xddbb99
cmp byte [edx + 2], 0x71
jne 0xddbb99
cmp byte [edx + 3], 0x70
jne 0xddbb99
cmp byte [edx + 4], 0x7d
je 0xddbdeb
cmp byte [ebp + 0xb], 0
je 0xddbc77
cmp dword [ebp + 0x10], 6
jbe 0xddbbd8
cmp bl, 0x26
jne 0xddbbd8
cmp byte [edx + 1], 0x6e
jne 0xddbbd8
cmp byte [edx + 2], 0x62
jne 0xddbbd8
cmp byte [edx + 3], 0x73
jne 0xddbbd8
cmp byte [edx + 4], 0x70
jne 0xddbbd8
cmp byte [edx + 5], 0x3b
jne 0xddbbd8
add edx, 6
sub dword [ebp + 0x10], 6
jmp 0xddbdde
push 4
pop esi
cmp dword [ebp + 0x10], esi
jbe 0xddbc3d
cmp bl, 0x3c
jne 0xddbc3d
mov al, byte [edx + 1]
cmp al, 0x44
jne 0xddbc05
cmp byte [edx + 2], 0x49
jne 0xddbc05
cmp byte [edx + 3], 0x56
jne 0xddbc05
sub dword [ebp + 0x10], esi
add edx, esi
inc dword [ebp - 0x14]
jmp 0xddbc8f
cmp al, 0x42
jne 0xddbc1c
cmp byte [edx + 2], 0x52
jne 0xddbc1c
cmp byte [edx + 3], 0x3e
jne 0xddbc1c
add edx, esi
sub dword [ebp + 0x10], esi
jmp 0xddbc8f
cmp al, 0x50
jne 0xddbc2f
cmp byte [edx + 2], 0x3e
jne 0xddbc2f
add edx, 3
sub dword [ebp + 0x10], 3
jmp 0xddbc8f
cmp al, 0x41
jne 0xddbc3d
sub dword [ebp + 0x10], 2
add edx, 2
inc dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x18], eax
jle 0xddbc54
cmp bl, 0x22
jne 0xddbc54
not dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jne 0xddbc72
mov dword [ebp - 0x18], eax
cmp bl, 0x3c
jne 0xddbc5c
inc dword [ebp - 0x14]
cmp bl, 0x3e
jne 0xddbc72
cmp dword [ebp - 0x1c], eax
jne 0xddbc72
dec dword [ebp - 0x14]
inc edx
dec dword [ebp + 0x10]
jmp 0xddbdde
cmp dword [ebp - 0x14], eax
jg 0xddbc69
cmp bl, 0xd
jne 0xddbcaa
cmp byte [edx + 1], 0xa
jne 0xddbcaa
sub dword [ebp + 0x10], 2
add edx, 2
cmp byte [ebp + 0xb], 0
jne 0xddbca1
add dword [ebp - 8], 2
mov byte [ecx], 0xd
add ecx, dword [ebp - 0xc]
mov byte [ecx], 0xa
add ecx, dword [ebp - 0xc]
xor edi, edi
and dword [ebp - 0x10], 0
jmp 0xddbdde
mov al, byte [edx]
inc edx
dec dword [ebp + 0x10]
cmp dword [ebp - 8], 0
je 0xddbccb
cmp al, 0x2e
jne 0xddbccb
test edi, edi
jne 0xddbd00
cmp byte [edx], 0xd
je 0xddbd00
cmp byte [edx + 1], 0xa
je 0xddbd00
add al, 0xf5
cmp al, 0x20
je 0xddbcd3
cmp al, 9
jne 0xddbcf4
and dword [ebp - 0x10], 0
cmp byte [ebp + 0xb], 0
jne 0xddbdb9
cmp byte [edx], 0xd
jne 0xddbdb9
cmp byte [edx + 1], 0xa
jne 0xddbdb9
cmp al, 0x3d
je 0xddbd26
lea ebx, [eax - 0x21]
cmp bl, 0x5d
ja 0xddbd26
cmp dword [ebp - 0x10], 0
jne 0xddbd1c
lea esi, [edx - 1]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp + 0x10]
inc esi
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 8]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], esi
mov byte [ecx], al
add ecx, dword [ebp - 0xc]
inc dword [ebp - 8]
jmp 0xddbd75
cmp edi, 0x47
jbe 0xddbd43
add dword [ebp - 8], 3
mov byte [ecx], 0x3d
add ecx, dword [ebp - 0xc]
mov byte [ecx], 0xd
add ecx, dword [ebp - 0xc]
mov byte [ecx], 0xa
add ecx, dword [ebp - 0xc]
xor edi, edi
and dword [ebp - 0x10], 0
add dword [ebp - 8], 3
movzx esi, al
mov byte [ecx], 0x3d
add ecx, dword [ebp - 0xc]
mov eax, esi
shr eax, 4
mov al, byte [eax + 0xde0510]
mov byte [ecx], al
add ecx, dword [ebp - 0xc]
and esi, 0xf
mov al, byte [esi + 0xde0510]
mov byte [ecx], al
add ecx, dword [ebp - 0xc]
add edi, 2
inc edi
cmp edi, 0x49
jne 0xddbdde
xor edi, edi
cmp dword [ebp - 0x10], edi
je 0xddbda1
mov eax, edx
sub eax, dword [ebp - 0x10]
cmp eax, 0x49
jge 0xddbda1
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], edi
mov byte [ecx], 0x3d
add ecx, dword [ebp - 0xc]
mov byte [ecx], 0xd
add ecx, dword [ebp - 0xc]
mov byte [ecx], 0xa
add ecx, dword [ebp - 0xc]
add dword [ebp - 8], 3
jmp 0xddbdde
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
add ecx, eax
inc dword [ebp - 8]
inc edi
cmp edi, 0x49
jne 0xddbdde
add dword [ebp - 8], 3
mov byte [ecx], 0x3d
add ecx, eax
mov byte [ecx], 0xd
add ecx, eax
mov byte [ecx], 0xa
add ecx, eax
xor edi, edi
cmp dword [ebp + 0x10], 0
je 0xddbe09
xor esi, esi
jmp 0xddbb68
add edx, 5
sub dword [ebp + 0x10], 5
jmp 0xddbe00
inc edx
dec dword [ebp + 0x10]
mov byte [ecx], al
add ecx, dword [ebp - 0xc]
inc dword [ebp - 8]
cmp dword [ebp + 0x10], esi
jne 0xddbb0b
pop edi
pop ebx
mov eax, dword [ebp - 8]
pop esi
leave
ret