Function at 0x477e40
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x478244
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x478244
push esi
mov esi, dword [ebp + 0x10]
nop
mov al, byte [edi]
cmp al, 0x25
jb 0x477e6e
cmp al, 0x3f
jbe 0x478233
cmp al, 0xa
je 0x478233
cmp al, 0xd
je 0x478233
cmp al, 0x20
jb 0x477e8a
cmp al, 0x23
jbe 0x478233
cmp al, 0x41
jb 0x477e96
cmp al, 0x5a
jbe 0x478233
cmp al, 0x60
jb 0x477ea2
cmp al, 0x7a
jbe 0x478233
cmp al, 0x40
jne 0x477ead
push 0
jmp 0x478234
cmp al, 0x24
jne 0x477eb8
push 2
jmp 0x478234
cmp al, 0x5f
jne 0x477ec3
push 0x11
jmp 0x478234
cmp al, 0xc
jne 0x477ed7
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x10
jmp 0x478234
cmp al, 0x5e
jne 0x477eeb
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x14
jmp 0x478234
cmp al, 0x7b
jne 0x477eff
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x28
jmp 0x478234
cmp al, 0x7d
jne 0x477f13
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x29
jmp 0x478234
cmp al, 0x5c
jne 0x477f27
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x2f
jmp 0x478234
cmp al, 0x5b
jne 0x477f3b
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x3c
jmp 0x478234
cmp al, 0x7e
jne 0x477f4f
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x3d
jmp 0x478234
cmp al, 0x5d
jne 0x477f63
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x3e
jmp 0x478234
cmp al, 0x7c
jne 0x477f77
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x40
jmp 0x478234
cmp al, 0x80
jbe 0x47823b
cmp ebx, 1
jbe 0x47823b
cmp al, 0xc2
jne 0x477fd7
mov al, byte [edi + 1]
inc edi
dec ebx
cmp al, 0xa3
jne 0x477f9c
push 1
jmp 0x478234
cmp al, 0xa5
jne 0x477fa7
push 3
jmp 0x478234
cmp al, 0xa4
jne 0x477fb2
push 0x24
jmp 0x478234
cmp al, 0xa1
jne 0x477fbd
push 0x40
jmp 0x478234
cmp al, 0xa7
jne 0x477fc8
push 0x5f
jmp 0x478234
cmp al, 0xbf
jne 0x478204
push 0x60
jmp 0x478234
cmp al, 0xc3
jne 0x4781ab
mov al, byte [edi + 1]
inc edi
dec ebx
cmp al, 0xa8
jne 0x477fef
push 4
jmp 0x478234
cmp al, 0xa9
jne 0x477ffa
push 5
jmp 0x478234
cmp al, 0xb9
jne 0x478005
push 6
jmp 0x478234
cmp al, 0xac
jne 0x478010
push 7
jmp 0x478234
cmp al, 0xb2
jne 0x47801b
push 8
jmp 0x478234
cmp al, 0x87
jne 0x478026
push 9
jmp 0x478234
cmp al, 0x98
jne 0x478031
push 0xb
jmp 0x478234
cmp al, 0xb8
jne 0x47803c
push 0xc
jmp 0x478234
cmp al, 0x85
jne 0x478047
push 0xe
jmp 0x478234
cmp al, 0xa5
jne 0x478052
push 0xf
jmp 0x478234
cmp al, 0x86
jne 0x47805d
push 0x1c
jmp 0x478234
cmp al, 0xa6
jne 0x478068
push 0x1d
jmp 0x478234
cmp al, 0x9f
jne 0x478073
push 0x1e
jmp 0x478234
cmp al, 0x89
jne 0x47807e
push 0x1f
jmp 0x478234
cmp al, 0x84
jne 0x478089
push 0x5b
jmp 0x478234
cmp al, 0x96
jne 0x478094
push 0x5c
jmp 0x478234
cmp al, 0x91
jne 0x47809f
push 0x5d
jmp 0x478234
cmp al, 0x9c
jne 0x4780aa
push 0x5e
jmp 0x478234
cmp al, 0xa4
jne 0x4780b5
push 0x7b
jmp 0x478234
cmp al, 0xb6
jne 0x4780c0
push 0x7c
jmp 0x478234
cmp al, 0xb1
jne 0x4780cb
push 0x7d
jmp 0x478234
cmp al, 0xbc
jne 0x4780d6
push 0x7e
jmp 0x478234
cmp al, 0xa0
jne 0x4780e1
push 0x7f
jmp 0x478234
cmp al, 0x80
jb 0x4780f0
cmp al, 0x85
ja 0x4780f0
push 0x41
jmp 0x478234
cmp al, 0x88
jb 0x4780ff
cmp al, 0x8b
ja 0x4780ff
push 0x45
jmp 0x478234
cmp al, 0x8c
jb 0x47810e
cmp al, 0x8f
ja 0x47810e
push 0x49
jmp 0x478234
cmp al, 0x92
jb 0x47811d
cmp al, 0x96
ja 0x47811d
push 0x4f
jmp 0x478234
cmp al, 0x99
jb 0x47812c
cmp al, 0x9c
ja 0x47812c
push 0x55
jmp 0x478234
cmp al, 0x9d
ja 0x478137
push 0x59
jmp 0x478234
cmp al, 0xa0
jb 0x478146
cmp al, 0xa5
ja 0x478146
push 0x61
jmp 0x478234
cmp al, 0xa8
jb 0x478155
cmp al, 0xab
ja 0x478155
push 0x65
jmp 0x478234
cmp al, 0xac
jb 0x478164
cmp al, 0xaf
ja 0x478164
push 0x69
jmp 0x478234
cmp al, 0xb2
jb 0x47816c
cmp al, 0xb6
jbe 0x4781a4
cmp al, 0xb0
je 0x4781a4
cmp al, 0xb9
jb 0x47817f
cmp al, 0xbc
ja 0x47817f
push 0x75
jmp 0x478234
cmp al, 0xbd
je 0x47819d
cmp al, 0xbf
je 0x47819d
cmp al, 0xa7
ja 0x478192
push 0x63
jmp 0x478234
cmp al, 0x90
ja 0x478204
push 0x44
jmp 0x478234
push 0x79
jmp 0x478234
push 0x6f
jmp 0x478234
cmp al, 0xce
jne 0x478208
mov al, byte [edi + 1]
inc edi
dec ebx
cmp al, 0x94
jne 0x4781bc
push 0x10
jmp 0x478234
cmp al, 0xa6
jne 0x4781c4
push 0x12
jmp 0x478234
cmp al, 0x93
jne 0x4781cc
push 0x13
jmp 0x478234
cmp al, 0x9b
jne 0x4781d4
push 0x14
jmp 0x478234
cmp al, 0xa9
jne 0x4781dc
push 0x15
jmp 0x478234
cmp al, 0xa0
jne 0x4781e4
push 0x16
jmp 0x478234
cmp al, 0xa8
jne 0x4781ec
push 0x17
jmp 0x478234
cmp al, 0xa3
jne 0x4781f4
push 0x18
jmp 0x478234
cmp al, 0x98
jne 0x4781fc
push 0x19
jmp 0x478234
cmp al, 0x9e
jne 0x478204
push 0x1a
jmp 0x478234
dec edi
inc ebx
jmp 0x47823b
cmp al, 0xe2
jne 0x47823b
dec ebx
je 0x478205
cmp byte [edi + 1], 0x82
jne 0x478205
add edi, 2
dec ebx
cmp byte [edi], 0xac
jne 0x47822b
push 0x1b
mov ecx, esi
call fcn.0041c5d0
push 0x65
jmp 0x478234
sub edi, 2
add ebx, 2
jmp 0x47823b
push eax
mov ecx, esi
call fcn.0041c5d0
inc edi
dec ebx
jne 0x477e60
pop esi
pop edi
mov al, 1
pop ebx
pop ebp
ret