Function at 0x4a4810
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x4a4a55
push ebx
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x4a4a53
cmp eax, 0x29
jne 0x4a484e
cmp dword [esi + 0x10], 0
jne 0x4a4a53
test dword [esi + 0x50], 0x10000000
jne 0x4a4a2c
jmp 0x4a4a59
cmp eax, 0x2e
jne 0x4a48a5
push 5
lea ecx, [esi + 0x24]
call fcn.004a6e10
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a4899
cmp byte [eax], 0x5c
jne 0x4a4897
inc eax
cmp eax, ecx
je 0x4a4897
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a4884
mov dl, byte [eax]
cmp dl, 0x28
je 0x4a4895
cmp dl, 0x29
je 0x4a4895
test cl, 0x10
jne 0x4a4897
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4a4895
cmp cl, 0x7d
jne 0x4a4897
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004a7240
jmp 0x4a4a40
cmp eax, 0x5c
jne 0x4a4901
mov ecx, esi
call fcn.004a6e80
test byte [esi + 0x50], 0x80
je 0x4a48f5
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x4a48d4
push 4
lea ecx, [esi + 0x24]
call fcn.004a6e10
mov ecx, esi
call fcn.004a6e80
jmp 0x4a4a47
cmp al, 0x42
jne 0x4a48f5
push 4
lea ecx, [esi + 0x24]
call fcn.004a6e10
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.004a6e80
jmp 0x4a4a47
mov ecx, esi
call fcn.004a4a80
jmp 0x4a4a40
cmp eax, 0x5b
jne 0x4a49a0
mov ecx, esi
call fcn.004a6e80
lea ecx, [esi + 0x24]
call fcn.004a3fc0
cmp dword [esi + 0x4c], 0x5e
jne 0x4a4969
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a4962
cmp byte [eax], 0x5c
jne 0x4a4960
inc eax
cmp eax, ecx
je 0x4a4960
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a494d
mov dl, byte [eax]
cmp dl, 0x28
je 0x4a495e
cmp dl, 0x29
je 0x4a495e
test cl, 0x10
jne 0x4a4960
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4a495e
cmp cl, 0x7d
jne 0x4a4960
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004a7240
test dword [esi + 0x50], 0x20000000
je 0x4a4989
cmp dword [esi + 0x4c], 0x5d
jne 0x4a4989
push 0x5d
lea ecx, [esi + 0x24]
call fcn.004a3f50
mov ecx, esi
call fcn.004a6e80
mov ecx, esi
call fcn.004a53c0
push 4
push 0x5d
mov ecx, esi
call fcn.004a6640
jmp 0x4a4a40
cmp eax, 0x28
jne 0x4a49ca
mov ecx, esi
call fcn.004a6e80
mov ecx, esi
call fcn.004a7460
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.004a6640
test bl, bl
je 0x4a4a47
jmp 0x4a4a40
cmp eax, 0x5e
jne 0x4a49e2
push 2
lea ecx, [esi + 0x24]
call fcn.004a6e10
mov ecx, esi
call fcn.004a6e80
jmp 0x4a4a47
cmp eax, 0x24
jne 0x4a49fa
push 3
lea ecx, [esi + 0x24]
call fcn.004a6e10
mov ecx, esi
call fcn.004a6e80
jmp 0x4a4a47
cmp eax, 0x2a
je 0x4a4a74
cmp eax, 0x2b
je 0x4a4a74
cmp eax, 0x3f
je 0x4a4a74
cmp eax, 0x7b
je 0x4a4a74
cmp eax, 0x7d
jne 0x4a4a1e
test dword [esi + 0x50], 0x10000000
jne 0x4a4a2c
jmp 0x4a4a62
cmp eax, 0x5d
jne 0x4a4a2c
test dword [esi + 0x50], 0x10000000
je 0x4a4a6b
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004b7bc0
mov ecx, esi
call fcn.004a6e80
mov ecx, esi
call fcn.004a6ed0
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x4a4821
pop edi
pop ebx
mov al, cl
pop esi
ret
push 5
mov ecx, esi
call fcn.004a6630
push 6
mov ecx, esi
call fcn.004a6630
push 4
mov ecx, esi
call fcn.004a6630
push 0xa
mov ecx, esi
call fcn.004a6630
int3