Function at 0x478250
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x47873c
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x47873c
push esi
mov esi, dword [ebp + 0x10]
nop
mov al, byte [edi]
test al, al
jne 0x47827d
push 0x40
jmp 0x47872c
cmp al, 2
jne 0x478288
push 0x24
jmp 0x47872c
cmp al, 0x11
jne 0x478293
push 0x5f
jmp 0x47872c
cmp al, 1
jne 0x4782ad
push 0xa3
push 0xc2
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 3
jne 0x4782c7
push 0xa5
push 0xc2
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 4
jne 0x4782e1
push 0xa8
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 5
jne 0x4782fb
push 0xa9
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 6
jne 0x478315
push 0xb9
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 7
jne 0x47832f
push 0xac
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 8
jne 0x478349
push 0xb2
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 9
jne 0x478363
push 0x87
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0xb
jne 0x47837d
push 0x98
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0xc
jne 0x478397
push 0xb8
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0xe
jne 0x4783b1
push 0x85
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0xf
jne 0x4783cb
push 0xa5
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x10
jne 0x4783e5
push 0x94
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x12
jne 0x4783ff
push 0xa6
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x13
jne 0x478419
push 0x93
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x14
jne 0x478433
push 0x9b
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x15
jne 0x47844d
push 0xa9
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x16
jne 0x478467
push 0xa0
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x17
jne 0x478481
push 0xa8
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x18
jne 0x47849b
push 0xa3
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x19
jne 0x4784b5
push 0x98
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x1a
jne 0x4784cf
push 0x9e
push 0xce
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x1c
jne 0x4784e9
push 0x86
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x1d
jne 0x478503
push 0xa6
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x1e
jne 0x47851d
push 0x9f
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x1f
jne 0x478537
push 0x89
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x24
jne 0x478551
push 0xa4
push 0xc2
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x40
jne 0x47856b
push 0xa1
push 0xc2
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x5b
jne 0x478585
push 0x84
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x5c
jne 0x47859f
push 0x96
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x5d
jne 0x4785b9
push 0x91
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x5e
jne 0x4785d3
push 0x9c
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x5f
jne 0x4785ed
push 0xa7
push 0xc2
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x60
jne 0x478607
push 0xbf
push 0xc2
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x7b
jne 0x478621
push 0xa4
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x7c
jne 0x47863b
push 0xb6
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x7d
jne 0x478655
push 0xb1
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x7e
jne 0x47866f
push 0xbc
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x7f
jne 0x478689
push 0xa0
push 0xc3
mov ecx, esi
call fcn.0041c660
jmp 0x478733
cmp al, 0x1b
jne 0x478703
mov al, byte [edi + 1]
inc edi
dec ebx
cmp al, 0x10
jne 0x47869d
push 0xc
jmp 0x47872c
cmp al, 0x14
jne 0x4786a8
push 0x5e
jmp 0x47872c
cmp al, 0x28
jne 0x4786b0
push 0x7b
jmp 0x47872c
cmp al, 0x29
jne 0x4786b8
push 0x7d
jmp 0x47872c
cmp al, 0x2f
jne 0x4786c0
push 0x5c
jmp 0x47872c
cmp al, 0x3c
jne 0x4786c8
push 0x5b
jmp 0x47872c
cmp al, 0x3d
jne 0x4786d0
push 0x7e
jmp 0x47872c
cmp al, 0x3e
jne 0x4786d8
push 0x5d
jmp 0x47872c
cmp al, 0x40
jne 0x4786e0
push 0x7c
jmp 0x47872c
cmp al, 0x65
jne 0x478733
push 0xe2
mov ecx, esi
call fcn.0041c5d0
push 0x82
mov ecx, esi
call fcn.0041c5d0
push 0xac
jmp 0x47872c
cmp al, 0x25
jb 0x47870b
cmp al, 0x3f
jbe 0x47872b
cmp al, 0xa
je 0x47872b
cmp al, 0xd
je 0x47872b
cmp al, 0x20
jb 0x47871b
cmp al, 0x23
jbe 0x47872b
cmp al, 0x41
jb 0x478723
cmp al, 0x5a
jbe 0x47872b
cmp al, 0x60
jb 0x478733
cmp al, 0x7a
ja 0x478733
push eax
mov ecx, esi
call fcn.0041c5d0
inc edi
dec ebx
jne 0x478270
pop esi
pop edi
mov al, 1
pop ebx
pop ebp
ret