Function at 0x402c50
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
mov edx, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov esi, edx
mov cl, byte [esi]
mov al, byte [edx + ebx + 1]
mov dl, byte [edx + ebx + 2]
mov byte [ebp - 1], dl
cmp cl, 0xb
je 0x402cc6
cmp cl, 0x33
je 0x402cc6
lea edx, [ecx - 0x50]
cmp dl, 7
ja 0x402c91
push 1
push esi
push edi
call fcn.004182f0
add esp, 0xc
inc ebx
inc esi
inc edi
jmp 0x402cdb
cmp cl, 0x64
jne 0x402caf
cmp al, 0xa1
je 0x402e47
cmp al, 0x8b
je 0x402e16
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0x68
je 0x402de1
cmp cl, 0x6a
je 0x402cc6
cmp cl, 0x75
jne 0x402cec
cmp al, 0x23
jne 0x402ca6
push 2
push esi
push edi
call fcn.004182f0
add esp, 0xc
add ebx, 2
add esi, 2
add edi, 2
cmp ebx, 5
jae 0x402ec0
mov edx, dword [ebp + 8]
jmp 0x402c61
cmp cl, 0x81
jne 0x402d0c
cmp al, 0x3d
jne 0x402ca6
push 0xa
push esi
push edi
call fcn.004182f0
add esp, 0xc
add ebx, 0xa
add esi, 0xa
add edi, 0xa
jmp 0x402cdb
cmp cl, 0x83
jne 0x402d20
sub al, 0x78
cmp al, 7
ja 0x402e87
jmp 0x402e65
cmp cl, 0x8b
jne 0x402daa
cmp al, 0x45
je 0x402e87
cmp al, 0x4d
je 0x402e87
cmp al, 0x55
je 0x402e87
cmp al, 0x5d
je 0x402e87
cmp al, 0x75
je 0x402e87
cmp al, 8
je 0x402cc6
cmp al, 0x10
je 0x402cc6
cmp al, 0xc2
je 0x402cc6
cmp al, 0xca
je 0x402cc6
cmp al, 0xd9
je 0x402cc6
cmp al, 0xec
je 0x402cc6
cmp al, 0xf1
je 0x402cc6
cmp al, 0xf2
je 0x402cc6
cmp al, 0xf9
je 0x402cc6
cmp al, 0xfa
je 0x402cc6
cmp al, 0xff
jne 0x402db4
jmp 0x402cc6
cmp cl, 0x8d
je 0x402db4
cmp cl, 0x89
jne 0x402dc6
cmp al, 0x44
je 0x402dbc
cmp al, 0x4c
jne 0x402dc6
cmp byte [ebp - 1], 0x24
je 0x402e65
cmp cl, 0x8d
jne 0x402dd2
cmp al, 0x45
jmp 0x402e81
cmp cl, 0xa1
je 0x402de1
cmp cl, 0xb8
je 0x402de1
cmp cl, 0xba
jne 0x402dfb
push 5
push esi
push edi
call fcn.004182f0
add esp, 0xc
add ebx, 5
add esi, 5
add edi, 5
jmp 0x402cdb
cmp cl, 0xe8
je 0x402ea1
cmp cl, 0xe9
je 0x402ef6
cmp cl, 0xf6
jne 0x402e3a
cmp al, 5
jne 0x402e30
push 7
push esi
push edi
call fcn.004182f0
add esp, 0xc
add ebx, 7
add esi, 7
add edi, 7
jmp 0x402cdb
cmp al, 0x46
jne 0x402ca6
jmp 0x402e65
cmp cl, 0xff
jne 0x402ca6
cmp al, 0x25
jne 0x402e61
push 6
push esi
push edi
call fcn.004182f0
add esp, 0xc
add ebx, 6
add esi, 6
add edi, 6
jmp 0x402cdb
cmp al, 0x74
jne 0x402e7f
push 4
push esi
push edi
call fcn.004182f0
add esp, 0xc
add ebx, 4
add esi, 4
add edi, 4
jmp 0x402cdb
cmp al, 0x75
jne 0x402ca6
push 3
push esi
push edi
call fcn.004182f0
add esp, 0xc
add ebx, 3
add esi, 3
add edi, 3
jmp 0x402cdb
test ebx, ebx
jne 0x402ca6
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push 5
push eax
push ecx
call fcn.004182f0
add esp, 0xc
mov ebx, 5
lea ecx, [ebx - 5]
xor eax, eax
test ecx, ecx
je 0x402ede
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
add edx, ebx
mov byte [edx + eax], 0x46
mov byte [eax + esi], 0x4e
inc eax
cmp eax, ecx
jb 0x402ed1
mov eax, dword [ebp + 0x18]
add dword [eax], ecx
mov eax, dword [ebp + 0x10]
pop edi
add ebx, ecx
add dword [eax], ebx
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
jne 0x402ca6
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push 5
push edx
push eax
jmp 0x402eb3