Function at 0x42e800
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x42e812
pop edi
pop esi
or eax, 0xffffffff
pop ebx
ret
mov esi, dword [edi]
mov ebx, dword [esp + 0x10]
mov dl, 1
mov al, byte [esi]
cmp al, 0x61
jl 0x42e828
cmp al, 0x7a
jle 0x42e91c
cmp al, 0x41
jl 0x42e834
cmp al, 0x5a
jle 0x42e91c
cmp al, 0x30
jl 0x42e840
cmp al, 0x39
jle 0x42e91c
cmp al, 0x2d
je 0x42e91c
cmp al, 0x5f
je 0x42e91c
cmp al, 0x2e
je 0x42e91c
cmp al, 0x21
je 0x42e91c
cmp al, 0x7e
je 0x42e91c
cmp al, 0x2a
je 0x42e91c
cmp al, 0x27
je 0x42e91c
cmp al, 0x28
je 0x42e91c
cmp al, 0x29
je 0x42e91c
cmp al, 0x25
jne 0x42e8ce
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x42e899
cmp cl, 0x39
jle 0x42e8ad
cmp cl, 0x61
jl 0x42e8a3
cmp cl, 0x66
jle 0x42e8ad
cmp cl, 0x41
jl 0x42e8ce
cmp cl, 0x46
jg 0x42e8ce
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x42e8ba
cmp cl, 0x39
jle 0x42e91c
cmp cl, 0x61
jl 0x42e8c4
cmp cl, 0x66
jle 0x42e91c
cmp cl, 0x41
jl 0x42e8ce
cmp cl, 0x46
jle 0x42e91c
cmp al, 0x3b
je 0x42e91c
cmp al, 0x40
je 0x42e91c
cmp al, 0x26
je 0x42e91c
cmp al, 0x3d
je 0x42e91c
cmp al, 0x2b
je 0x42e91c
cmp al, 0x24
je 0x42e91c
cmp al, 0x2c
je 0x42e91c
test ebx, ebx
je 0x42e913
test byte [ebx + 0x24], dl
je 0x42e913
cmp al, 0x7b
je 0x42e91c
cmp al, 0x7d
je 0x42e91c
cmp al, 0x7c
je 0x42e91c
cmp al, 0x5c
je 0x42e91c
cmp al, 0x5e
je 0x42e91c
cmp al, 0x5b
je 0x42e91c
cmp al, 0x5d
je 0x42e91c
cmp al, 0x60
je 0x42e91c
pop edi
pop esi
mov eax, 3
pop ebx
ret
cmp al, 0x25
jne 0x42e925
add esi, 3
jmp 0x42e926
inc esi
mov al, byte [esi]
cmp al, 0x61
jl 0x42e934
cmp al, 0x7a
jle 0x42ea1f
cmp al, 0x41
jl 0x42e940
cmp al, 0x5a
jle 0x42ea1f
cmp al, 0x30
jl 0x42e94c
cmp al, 0x39
jle 0x42ea1f
cmp al, 0x2d
je 0x42ea1f
cmp al, 0x5f
je 0x42ea1f
cmp al, 0x2e
je 0x42ea1f
cmp al, 0x21
je 0x42ea1f
cmp al, 0x7e
je 0x42ea1f
cmp al, 0x2a
je 0x42ea1f
cmp al, 0x27
je 0x42ea1f
cmp al, 0x28
je 0x42ea1f
cmp al, 0x29
je 0x42ea1f
cmp al, 0x25
jne 0x42e9da
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x42e9a5
cmp cl, 0x39
jle 0x42e9b9
cmp cl, 0x61
jl 0x42e9af
cmp cl, 0x66
jle 0x42e9b9
cmp cl, 0x41
jl 0x42e9da
cmp cl, 0x46
jg 0x42e9da
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x42e9c6
cmp cl, 0x39
jle 0x42ea1f
cmp cl, 0x61
jl 0x42e9d0
cmp cl, 0x66
jle 0x42ea1f
cmp cl, 0x41
jl 0x42e9da
cmp cl, 0x46
jle 0x42ea1f
cmp al, 0x3b
je 0x42ea1f
cmp al, 0x40
je 0x42ea1f
cmp al, 0x26
je 0x42ea1f
cmp al, 0x3d
je 0x42ea1f
cmp al, 0x2b
je 0x42ea1f
cmp al, 0x24
je 0x42ea1f
cmp al, 0x2c
je 0x42ea1f
test ebx, ebx
je 0x42ea78
test byte [ebx + 0x24], dl
je 0x42ea2f
cmp al, 0x7b
je 0x42ea1f
cmp al, 0x7d
je 0x42ea1f
cmp al, 0x7c
je 0x42ea1f
cmp al, 0x5c
je 0x42ea1f
cmp al, 0x5e
je 0x42ea1f
cmp al, 0x5b
je 0x42ea1f
cmp al, 0x5d
je 0x42ea1f
cmp al, 0x60
jne 0x42ea2f
cmp al, 0x25
jne 0x42e925
add esi, 3
jmp 0x42e926
test ebx, ebx
je 0x42ea78
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x42ea44
push eax
call dword [0x447940]
add esp, 4
test byte [ebx + 0x24], 2
mov eax, dword [edi]
je 0x42ea65
mov ecx, esi
sub ecx, eax
push ecx
push eax
call fcn.004105f0
add esp, 8
mov dword [ebx + 0x18], eax
mov dword [edi], esi
xor eax, eax
pop edi
pop esi
pop ebx
ret
mov edx, esi
push 0
sub edx, eax
push edx
push eax
call fcn.0042d150
add esp, 0xc
mov dword [ebx + 0x18], eax
mov dword [edi], esi
pop edi
pop esi
xor eax, eax
pop ebx
ret