Function at 0x4a9ac0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x4a9e54
push ebx
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x4a9e53
cmp eax, 0x29
jne 0x4a9af8
cmp dword [esi + 0x10], 0
jne 0x4a9e53
test dword [esi + 0x50], 0x10000000
je 0x4a9e58
cmp eax, 0x2e
jne 0x4a9ba4
push 0x14
call fcn.005e8f55
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4a9b35
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x4a9b37
xor ecx, ecx
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4a9b53
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a9b98
cmp byte [eax], 0x5c
jne 0x4a9b96
inc eax
cmp eax, ecx
je 0x4a9b96
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a9b83
mov dl, byte [eax]
cmp dl, 0x28
je 0x4a9b94
cmp dl, 0x29
je 0x4a9b94
test cl, 0x10
jne 0x4a9b96
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4a9b94
cmp cl, 0x7d
jne 0x4a9b96
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004ac9d0
jmp 0x4a9e40
cmp eax, 0x5c
jne 0x4a9cc1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a9be9
cmp byte [eax], 0x5c
jne 0x4a9be7
inc eax
cmp eax, ecx
je 0x4a9be7
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a9bd4
mov dl, byte [eax]
cmp dl, 0x28
je 0x4a9be5
cmp dl, 0x29
je 0x4a9be5
test cl, 0x10
jne 0x4a9be7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4a9be5
cmp cl, 0x7d
jne 0x4a9be7
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004ac9d0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x4a9c52
cmp byte [esi + 0x48], 0x62
jne 0x4a9c52
push 4
lea ecx, [esi + 0x24]
call fcn.004ac340
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a9c46
cmp byte [eax], 0x5c
jne 0x4a9c44
inc eax
cmp eax, ecx
je 0x4a9c44
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4a9c31
mov cl, byte [eax]
cmp cl, 0x28
je 0x4a9c42
cmp cl, 0x29
je 0x4a9c42
test dl, 0x10
jne 0x4a9c44
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4a9c42
cmp cl, 0x7d
jne 0x4a9c44
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004ac9d0
jmp 0x4a9e47
test eax, eax
je 0x4a9cb5
cmp byte [esi + 0x48], 0x42
jne 0x4a9cb5
push 4
lea ecx, [esi + 0x24]
call fcn.004ac340
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a9ca9
cmp byte [eax], 0x5c
jne 0x4a9ca7
inc eax
cmp eax, ecx
je 0x4a9ca7
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4a9c94
mov cl, byte [eax]
cmp cl, 0x28
je 0x4a9ca5
cmp cl, 0x29
je 0x4a9ca5
test dl, 0x10
jne 0x4a9ca7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4a9ca5
cmp cl, 0x7d
jne 0x4a9ca7
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004ac9d0
jmp 0x4a9e47
mov ecx, esi
call fcn.004a9e80
jmp 0x4a9e40
cmp eax, 0x5b
jne 0x4a9d66
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a9d06
cmp byte [eax], 0x5c
jne 0x4a9d04
inc eax
cmp eax, ecx
je 0x4a9d04
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a9cf1
mov dl, byte [eax]
cmp dl, 0x28
je 0x4a9d02
cmp dl, 0x29
je 0x4a9d02
test cl, 0x10
jne 0x4a9d04
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4a9d02
cmp cl, 0x7d
jne 0x4a9d04
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004ac9d0
mov ecx, esi
call fcn.004aa3f0
cmp dword [esi + 0x4c], 0x5d
jne 0x4a9e5f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a9d5a
cmp byte [eax], 0x5c
jne 0x4a9d58
inc eax
cmp eax, ecx
je 0x4a9d58
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a9d45
mov dl, byte [eax]
cmp dl, 0x28
je 0x4a9d56
cmp dl, 0x29
je 0x4a9d56
test cl, 0x10
jne 0x4a9d58
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4a9d56
cmp cl, 0x7d
jne 0x4a9d58
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004ac9d0
jmp 0x4a9e40
cmp eax, 0x28
jne 0x4a9dcc
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a9da7
cmp byte [eax], 0x5c
jne 0x4a9da5
inc eax
cmp eax, ecx
je 0x4a9da5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a9d92
mov dl, byte [eax]
cmp dl, 0x28
je 0x4a9da3
cmp dl, 0x29
je 0x4a9da3
test cl, 0x10
jne 0x4a9da5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4a9da3
cmp cl, 0x7d
jne 0x4a9da5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004ac9d0
mov ecx, esi
call fcn.004acb80
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.004ab8e0
test bl, bl
je 0x4a9e47
jmp 0x4a9e40
cmp eax, 0x5e
jne 0x4a9de4
push 2
lea ecx, [esi + 0x24]
call fcn.004ac340
mov ecx, esi
call fcn.004ac3b0
jmp 0x4a9e47
cmp eax, 0x24
jne 0x4a9dfc
push 3
lea ecx, [esi + 0x24]
call fcn.004ac340
mov ecx, esi
call fcn.004ac3b0
jmp 0x4a9e47
cmp eax, 0x2a
je 0x4a9e6d
cmp eax, 0x2b
je 0x4a9e6d
cmp eax, 0x3f
je 0x4a9e6d
cmp eax, 0x7b
je 0x4a9e6d
cmp eax, 0x7d
jne 0x4a9e1e
test dword [esi + 0x50], 0x10000000
je 0x4a9e66
cmp eax, 0x5d
jne 0x4a9e2c
test dword [esi + 0x50], 0x10000000
je 0x4a9e5f
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004a9300
mov ecx, esi
call fcn.004ac3b0
mov ecx, esi
call fcn.004ac400
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x4a9ad0
pop ebx
mov al, cl
pop esi
ret
push 5
call fcn.005d40b5
push 4
call fcn.005d40b5
push 6
call fcn.005d40b5
push 0xa
call fcn.005d40b5
int3