Function at 0x47ab00
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 0x47af67
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x47af67
cmp eax, 0x29
jne 0x47ab40
cmp dword [esi + 0x10], 0
jne 0x47af67
test dword [esi + 0x50], 0x10000000
je 0x47af74
jmp 0x47af00
cmp eax, 0x2e
jne 0x47ab93
push 5
lea ecx, [esi + 0x24]
call fcn.0047af90
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47af48
cmp byte [eax], 0x5c
jne 0x47ad4f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47ad4f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47ab8b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47ad4d
cmp dl, 0x29
je 0x47ad4d
test bl, 0x10
jmp 0x47ad3f
cmp eax, 0x5c
jne 0x47acb1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47abda
cmp byte [eax], 0x5c
jne 0x47abd7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47abd7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x47abc4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x47abd5
cmp dl, 0x29
je 0x47abd5
test bl, 0x10
jne 0x47abd7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47abd5
cmp dl, 0x7d
jne 0x47abd7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477970
test byte [esi + 0x50], 0x80
je 0x47aca5
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x47ac46
push 4
lea ecx, [esi + 0x24]
call fcn.0047af90
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.00477970
jmp 0x47af59
cmp al, 0x42
jne 0x47aca5
push 4
lea ecx, [esi + 0x24]
call fcn.0047af90
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47ac99
cmp byte [eax], 0x5c
jne 0x47ac96
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47ac96
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ac83
mov al, byte [ecx]
cmp al, 0x28
je 0x47ac94
cmp al, 0x29
je 0x47ac94
mov eax, dword [esi]
test dl, 0x10
jne 0x47ac96
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47ac94
cmp dl, 0x7d
jne 0x47ac96
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477970
jmp 0x47af59
mov ecx, esi
call fcn.0047c4b0
jmp 0x47af4f
cmp eax, 0x5b
jne 0x47ad57
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47acf8
cmp byte [eax], 0x5c
jne 0x47acf5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47acf5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ace2
mov al, byte [ecx]
cmp al, 0x28
je 0x47acf3
cmp al, 0x29
je 0x47acf3
mov eax, dword [esi]
test dl, 0x10
jne 0x47acf5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47acf3
cmp dl, 0x7d
jne 0x47acf5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477970
mov ecx, esi
call fcn.0047c380
cmp dword [esi + 0x4c], 0x5d
jne 0x47af82
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47af48
cmp byte [eax], 0x5c
jne 0x47ad4f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47ad4f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ad3c
mov al, byte [ecx]
cmp al, 0x28
je 0x47ad4d
cmp al, 0x29
je 0x47ad4d
mov eax, dword [esi]
test dl, 0x10
jne 0x47ad4f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47ad4d
cmp dl, 0x7d
jne 0x47ad4f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x47af48
cmp eax, 0x28
jne 0x47ae0a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47ad9e
cmp byte [eax], 0x5c
jne 0x47ad9b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47ad9b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ad88
mov al, byte [ecx]
cmp al, 0x28
je 0x47ad99
cmp al, 0x29
je 0x47ad99
mov eax, dword [esi]
test dl, 0x10
jne 0x47ad9b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47ad99
cmp dl, 0x7d
jne 0x47ad9b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477970
mov ecx, esi
call fcn.0047c600
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x47af74
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x47adf6
cmp byte [eax], 0x5c
jne 0x47adf3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x47adf3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47ade0
mov al, byte [ecx]
cmp al, 0x28
je 0x47adf1
cmp al, 0x29
je 0x47adf1
mov eax, dword [esi]
test dl, 0x10
jne 0x47adf3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x47adf1
cmp dl, 0x7d
jne 0x47adf3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00477970
test bl, bl
je 0x47af59
jmp 0x47af4f
cmp eax, 0x5e
jne 0x47ae60
push 2
lea ecx, [esi + 0x24]
call fcn.0047af90
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47ae54
cmp byte [eax], 0x5c
jne 0x47ae52
inc eax
cmp eax, ecx
je 0x47ae52
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47ae3f
mov dl, byte [eax]
cmp dl, 0x28
je 0x47ae50
cmp dl, 0x29
je 0x47ae50
test cl, 0x10
jne 0x47ae52
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47ae50
cmp cl, 0x7d
jne 0x47ae52
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00477970
jmp 0x47af59
cmp eax, 0x24
jne 0x47aeb6
push 3
lea ecx, [esi + 0x24]
call fcn.0047af90
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47aeaa
cmp byte [eax], 0x5c
jne 0x47aea8
inc eax
cmp eax, ecx
je 0x47aea8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47ae95
mov dl, byte [eax]
cmp dl, 0x28
je 0x47aea6
cmp dl, 0x29
je 0x47aea6
test cl, 0x10
jne 0x47aea8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47aea6
cmp cl, 0x7d
jne 0x47aea8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00477970
jmp 0x47af59
cmp eax, 0x2a
je 0x47af6d
cmp eax, 0x2b
je 0x47af6d
cmp eax, 0x3f
je 0x47af6d
cmp eax, 0x7b
je 0x47af6d
cmp eax, 0x7d
jne 0x47aeee
test dword [esi + 0x50], 0x10000000
je 0x47af7b
jmp 0x47af00
cmp eax, 0x5d
jne 0x47af00
test dword [esi + 0x50], 0x10000000
je 0x47af82
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0047ca90
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x47af48
cmp byte [eax], 0x5c
jne 0x47af46
inc eax
cmp eax, ecx
je 0x47af46
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x47af33
mov dl, byte [eax]
cmp dl, 0x28
je 0x47af44
cmp dl, 0x29
je 0x47af44
test cl, 0x10
jne 0x47af46
mov cl, byte [eax]
cmp cl, 0x7b
je 0x47af44
cmp cl, 0x7d
jne 0x47af46
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00477970
mov ecx, esi
call fcn.0047c860
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x47ab16
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00477960
push 5
call fcn.00477960
push 6
call fcn.00477960
push 4
call fcn.00477960
int3