Function at 0x47a390
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 0x47a7f7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x47a7f7
cmp eax, 0x29
jne 0x47a3d0
cmp dword [esi + 0x10], 0
jne 0x47a7f7
test dword [esi + 0x50], 0x10000000
je 0x47a804
jmp 0x47a790
cmp eax, 0x2e
jne 0x47a423
push 5
lea ecx, [esi + 0x24]
call fcn.0047a820
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a7d8
cmp byte [eax], 0x5c
jne 0x47a5df
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a5df
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47a41b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47a5dd
cmp dl, 0x29
je 0x47a5dd
test bl, 0x10
jmp 0x47a5cf
cmp eax, 0x5c
jne 0x47a541
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a46a
cmp byte [eax], 0x5c
jne 0x47a467
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a467
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47a454
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47a465
cmp dl, 0x29
je 0x47a465
test bl, 0x10
jne 0x47a467
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a465
cmp dl, 0x7d
jne 0x47a467
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477200
test byte [esi + 0x50], 0x80
je 0x47a535
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x47a4d6
push 4
lea ecx, [esi + 0x24]
call fcn.0047a820
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a4ca
cmp byte [eax], 0x5c
jne 0x47a4c7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a4c7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47a4b4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47a4c5
cmp dl, 0x29
je 0x47a4c5
test bl, 0x10
jne 0x47a4c7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a4c5
cmp dl, 0x7d
jne 0x47a4c7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477200
jmp 0x47a7e9
cmp al, 0x42
jne 0x47a535
push 4
lea ecx, [esi + 0x24]
call fcn.0047a820
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a529
cmp byte [eax], 0x5c
jne 0x47a526
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a526
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a513
mov al, byte [ecx]
cmp al, 0x28
je 0x47a524
cmp al, 0x29
je 0x47a524
mov eax, dword [esi]
test dl, 0x10
jne 0x47a526
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a524
cmp dl, 0x7d
jne 0x47a526
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477200
jmp 0x47a7e9
mov ecx, esi
call fcn.0047bd40
jmp 0x47a7df
cmp eax, 0x5b
jne 0x47a5e7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a588
cmp byte [eax], 0x5c
jne 0x47a585
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a585
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a572
mov al, byte [ecx]
cmp al, 0x28
je 0x47a583
cmp al, 0x29
je 0x47a583
mov eax, dword [esi]
test dl, 0x10
jne 0x47a585
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a583
cmp dl, 0x7d
jne 0x47a585
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477200
mov ecx, esi
call fcn.0047bc10
cmp dword [esi + 0x4c], 0x5d
jne 0x47a812
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a7d8
cmp byte [eax], 0x5c
jne 0x47a5df
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a5df
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a5cc
mov al, byte [ecx]
cmp al, 0x28
je 0x47a5dd
cmp al, 0x29
je 0x47a5dd
mov eax, dword [esi]
test dl, 0x10
jne 0x47a5df
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a5dd
cmp dl, 0x7d
jne 0x47a5df
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x47a7d8
cmp eax, 0x28
jne 0x47a69a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a62e
cmp byte [eax], 0x5c
jne 0x47a62b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a62b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a618
mov al, byte [ecx]
cmp al, 0x28
je 0x47a629
cmp al, 0x29
je 0x47a629
mov eax, dword [esi]
test dl, 0x10
jne 0x47a62b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a629
cmp dl, 0x7d
jne 0x47a62b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477200
mov ecx, esi
call fcn.0047be90
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x47a804
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47a686
cmp byte [eax], 0x5c
jne 0x47a683
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47a683
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47a670
mov al, byte [ecx]
cmp al, 0x28
je 0x47a681
cmp al, 0x29
je 0x47a681
mov eax, dword [esi]
test dl, 0x10
jne 0x47a683
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47a681
cmp dl, 0x7d
jne 0x47a683
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477200
test bl, bl
je 0x47a7e9
jmp 0x47a7df
cmp eax, 0x5e
jne 0x47a6f0
push 2
lea ecx, [esi + 0x24]
call fcn.0047a820
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47a6e4
cmp byte [eax], 0x5c
jne 0x47a6e2
inc eax
cmp eax, ecx
je 0x47a6e2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47a6cf
mov dl, byte [eax]
cmp dl, 0x28
je 0x47a6e0
cmp dl, 0x29
je 0x47a6e0
test cl, 0x10
jne 0x47a6e2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47a6e0
cmp cl, 0x7d
jne 0x47a6e2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00477200
jmp 0x47a7e9
cmp eax, 0x24
jne 0x47a746
push 3
lea ecx, [esi + 0x24]
call fcn.0047a820
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47a73a
cmp byte [eax], 0x5c
jne 0x47a738
inc eax
cmp eax, ecx
je 0x47a738
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47a725
mov dl, byte [eax]
cmp dl, 0x28
je 0x47a736
cmp dl, 0x29
je 0x47a736
test cl, 0x10
jne 0x47a738
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47a736
cmp cl, 0x7d
jne 0x47a738
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00477200
jmp 0x47a7e9
cmp eax, 0x2a
je 0x47a7fd
cmp eax, 0x2b
je 0x47a7fd
cmp eax, 0x3f
je 0x47a7fd
cmp eax, 0x7b
je 0x47a7fd
cmp eax, 0x7d
jne 0x47a77e
test dword [esi + 0x50], 0x10000000
je 0x47a80b
jmp 0x47a790
cmp eax, 0x5d
jne 0x47a790
test dword [esi + 0x50], 0x10000000
je 0x47a812
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0047c320
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47a7d8
cmp byte [eax], 0x5c
jne 0x47a7d6
inc eax
cmp eax, ecx
je 0x47a7d6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47a7c3
mov dl, byte [eax]
cmp dl, 0x28
je 0x47a7d4
cmp dl, 0x29
je 0x47a7d4
test cl, 0x10
jne 0x47a7d6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47a7d4
cmp cl, 0x7d
jne 0x47a7d6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00477200
mov ecx, esi
call fcn.0047c0f0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x47a3a6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.004771f0
push 5
call fcn.004771f0
push 6
call fcn.004771f0
push 4
call fcn.004771f0
int3