Function at 0x47ab60
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x47afc7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x47afc7
cmp eax, 0x29
jne 0x47aba0
cmp dword [esi + 0x10], 0
jne 0x47afc7
test dword [esi + 0x50], 0x10000000
je 0x47afd4
jmp 0x47af60
cmp eax, 0x2e
jne 0x47abf3
push 5
lea ecx, [esi + 0x24]
call fcn.0047aff0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47afa8
cmp byte [eax], 0x5c
jne 0x47adaf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47adaf
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47abeb
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47adad
cmp dl, 0x29
je 0x47adad
test bl, 0x10
jmp 0x47ad9f
cmp eax, 0x5c
jne 0x47ad11
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47ac3a
cmp byte [eax], 0x5c
jne 0x47ac37
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47ac37
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47ac24
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47ac35
cmp dl, 0x29
je 0x47ac35
test bl, 0x10
jne 0x47ac37
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47ac35
cmp dl, 0x7d
jne 0x47ac37
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004779d0
test byte [esi + 0x50], 0x80
je 0x47ad05
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x47aca6
push 4
lea ecx, [esi + 0x24]
call fcn.0047aff0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47ac9a
cmp byte [eax], 0x5c
jne 0x47ac97
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47ac97
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47ac84
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47ac95
cmp dl, 0x29
je 0x47ac95
test bl, 0x10
jne 0x47ac97
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47ac95
cmp dl, 0x7d
jne 0x47ac97
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004779d0
jmp 0x47afb9
cmp al, 0x42
jne 0x47ad05
push 4
lea ecx, [esi + 0x24]
call fcn.0047aff0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47acf9
cmp byte [eax], 0x5c
jne 0x47acf6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47acf6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ace3
mov al, byte [ecx]
cmp al, 0x28
je 0x47acf4
cmp al, 0x29
je 0x47acf4
mov eax, dword [esi]
test dl, 0x10
jne 0x47acf6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47acf4
cmp dl, 0x7d
jne 0x47acf6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004779d0
jmp 0x47afb9
mov ecx, esi
call fcn.0047c510
jmp 0x47afaf
cmp eax, 0x5b
jne 0x47adb7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47ad58
cmp byte [eax], 0x5c
jne 0x47ad55
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47ad55
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ad42
mov al, byte [ecx]
cmp al, 0x28
je 0x47ad53
cmp al, 0x29
je 0x47ad53
mov eax, dword [esi]
test dl, 0x10
jne 0x47ad55
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47ad53
cmp dl, 0x7d
jne 0x47ad55
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004779d0
mov ecx, esi
call fcn.0047c3e0
cmp dword [esi + 0x4c], 0x5d
jne 0x47afe2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47afa8
cmp byte [eax], 0x5c
jne 0x47adaf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47adaf
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ad9c
mov al, byte [ecx]
cmp al, 0x28
je 0x47adad
cmp al, 0x29
je 0x47adad
mov eax, dword [esi]
test dl, 0x10
jne 0x47adaf
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47adad
cmp dl, 0x7d
jne 0x47adaf
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x47afa8
cmp eax, 0x28
jne 0x47ae6a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47adfe
cmp byte [eax], 0x5c
jne 0x47adfb
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47adfb
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ade8
mov al, byte [ecx]
cmp al, 0x28
je 0x47adf9
cmp al, 0x29
je 0x47adf9
mov eax, dword [esi]
test dl, 0x10
jne 0x47adfb
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47adf9
cmp dl, 0x7d
jne 0x47adfb
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004779d0
mov ecx, esi
call fcn.0047c660
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x47afd4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47ae56
cmp byte [eax], 0x5c
jne 0x47ae53
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47ae53
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ae40
mov al, byte [ecx]
cmp al, 0x28
je 0x47ae51
cmp al, 0x29
je 0x47ae51
mov eax, dword [esi]
test dl, 0x10
jne 0x47ae53
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47ae51
cmp dl, 0x7d
jne 0x47ae53
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004779d0
test bl, bl
je 0x47afb9
jmp 0x47afaf
cmp eax, 0x5e
jne 0x47aec0
push 2
lea ecx, [esi + 0x24]
call fcn.0047aff0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47aeb4
cmp byte [eax], 0x5c
jne 0x47aeb2
inc eax
cmp eax, ecx
je 0x47aeb2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47ae9f
mov dl, byte [eax]
cmp dl, 0x28
je 0x47aeb0
cmp dl, 0x29
je 0x47aeb0
test cl, 0x10
jne 0x47aeb2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47aeb0
cmp cl, 0x7d
jne 0x47aeb2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004779d0
jmp 0x47afb9
cmp eax, 0x24
jne 0x47af16
push 3
lea ecx, [esi + 0x24]
call fcn.0047aff0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47af0a
cmp byte [eax], 0x5c
jne 0x47af08
inc eax
cmp eax, ecx
je 0x47af08
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47aef5
mov dl, byte [eax]
cmp dl, 0x28
je 0x47af06
cmp dl, 0x29
je 0x47af06
test cl, 0x10
jne 0x47af08
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47af06
cmp cl, 0x7d
jne 0x47af08
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004779d0
jmp 0x47afb9
cmp eax, 0x2a
je 0x47afcd
cmp eax, 0x2b
je 0x47afcd
cmp eax, 0x3f
je 0x47afcd
cmp eax, 0x7b
je 0x47afcd
cmp eax, 0x7d
jne 0x47af4e
test dword [esi + 0x50], 0x10000000
je 0x47afdb
jmp 0x47af60
cmp eax, 0x5d
jne 0x47af60
test dword [esi + 0x50], 0x10000000
je 0x47afe2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0047caf0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47afa8
cmp byte [eax], 0x5c
jne 0x47afa6
inc eax
cmp eax, ecx
je 0x47afa6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47af93
mov dl, byte [eax]
cmp dl, 0x28
je 0x47afa4
cmp dl, 0x29
je 0x47afa4
test cl, 0x10
jne 0x47afa6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47afa4
cmp cl, 0x7d
jne 0x47afa6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004779d0
mov ecx, esi
call fcn.0047c8c0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x47ab76
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.004779c0
push 5
call fcn.004779c0
push 6
call fcn.004779c0
push 4
call fcn.004779c0
int3