Function at 0x40bb70
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x40bf81
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x40bf81
cmp eax, 0x29
jne 0x40bba9
cmp dword [esi + 0x10], 0
jne 0x40bf81
test dword [esi + 0x50], 0x10000000
je 0x40bf87
cmp eax, 0x2e
jne 0x40bc55
push 0x14
call fcn.004117ed
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x40bbe6
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 0x40bbe8
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 0x40bc04
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 0x40bc49
cmp byte [eax], 0x5c
jne 0x40bc47
inc eax
cmp eax, ecx
je 0x40bc47
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40bc34
mov dl, byte [eax]
cmp dl, 0x28
je 0x40bc45
cmp dl, 0x29
je 0x40bc45
test cl, 0x10
jne 0x40bc47
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40bc45
cmp cl, 0x7d
jne 0x40bc47
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040a650
jmp 0x40bf6e
cmp eax, 0x5c
jne 0x40bd6e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40bc9a
cmp byte [eax], 0x5c
jne 0x40bc98
inc eax
cmp eax, ecx
je 0x40bc98
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40bc85
mov dl, byte [eax]
cmp dl, 0x28
je 0x40bc96
cmp dl, 0x29
je 0x40bc96
test cl, 0x10
jne 0x40bc98
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40bc96
cmp cl, 0x7d
jne 0x40bc98
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040a650
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x40bd01
cmp byte [esi + 0x48], 0x62
jne 0x40bd01
lea ecx, [esi + 0x24]
call fcn.0040ce80
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40bcf5
cmp byte [eax], 0x5c
jne 0x40bcf3
inc eax
cmp eax, ecx
je 0x40bcf3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40bce0
mov cl, byte [eax]
cmp cl, 0x28
je 0x40bcf1
cmp cl, 0x29
je 0x40bcf1
test dl, 0x10
jne 0x40bcf3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40bcf1
cmp cl, 0x7d
jne 0x40bcf3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040a650
jmp 0x40bf75
test eax, eax
je 0x40bd62
cmp byte [esi + 0x48], 0x42
jne 0x40bd62
lea ecx, [esi + 0x24]
call fcn.0040ce80
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40bd56
cmp byte [eax], 0x5c
jne 0x40bd54
inc eax
cmp eax, ecx
je 0x40bd54
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40bd41
mov cl, byte [eax]
cmp cl, 0x28
je 0x40bd52
cmp cl, 0x29
je 0x40bd52
test dl, 0x10
jne 0x40bd54
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40bd52
cmp cl, 0x7d
jne 0x40bd54
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040a650
jmp 0x40bf75
mov ecx, esi
call fcn.0040cb20
jmp 0x40bf6e
cmp eax, 0x5b
jne 0x40be13
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40bdb3
cmp byte [eax], 0x5c
jne 0x40bdb1
inc eax
cmp eax, ecx
je 0x40bdb1
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40bd9e
mov dl, byte [eax]
cmp dl, 0x28
je 0x40bdaf
cmp dl, 0x29
je 0x40bdaf
test cl, 0x10
jne 0x40bdb1
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40bdaf
cmp cl, 0x7d
jne 0x40bdb1
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040a650
mov ecx, esi
call fcn.0040ca40
cmp dword [esi + 0x4c], 0x5d
jne 0x40bf8e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40be07
cmp byte [eax], 0x5c
jne 0x40be05
inc eax
cmp eax, ecx
je 0x40be05
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40bdf2
mov dl, byte [eax]
cmp dl, 0x28
je 0x40be03
cmp dl, 0x29
je 0x40be03
test cl, 0x10
jne 0x40be05
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40be03
cmp cl, 0x7d
jne 0x40be05
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040a650
jmp 0x40bf6e
cmp eax, 0x28
jne 0x40bec2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40be58
cmp byte [eax], 0x5c
jne 0x40be56
inc eax
cmp eax, ecx
je 0x40be56
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40be43
mov dl, byte [eax]
cmp dl, 0x28
je 0x40be54
cmp dl, 0x29
je 0x40be54
test cl, 0x10
jne 0x40be56
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40be54
cmp cl, 0x7d
jne 0x40be56
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040a650
mov ecx, esi
call fcn.0040cbf0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x40bf87
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40beae
cmp byte [eax], 0x5c
jne 0x40beac
inc eax
cmp eax, ecx
je 0x40beac
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40be99
mov dl, byte [eax]
cmp dl, 0x28
je 0x40beaa
cmp dl, 0x29
je 0x40beaa
test cl, 0x10
jne 0x40beac
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40beaa
cmp cl, 0x7d
jne 0x40beac
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040a650
test bl, bl
je 0x40bf75
jmp 0x40bf6e
cmp eax, 0x5e
jne 0x40bf14
lea ecx, [esi + 0x24]
call fcn.0040cdc0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40bf0b
cmp byte [eax], 0x5c
jne 0x40bf09
inc eax
cmp eax, ecx
je 0x40bf09
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40bef6
mov dl, byte [eax]
cmp dl, 0x28
je 0x40bf07
cmp dl, 0x29
je 0x40bf07
test cl, 0x10
jne 0x40bf09
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40bf07
cmp cl, 0x7d
jne 0x40bf09
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040a650
jmp 0x40bf75
cmp eax, 0x24
jne 0x40bf2a
lea ecx, [esi + 0x24]
call fcn.0040ce20
mov ecx, esi
call fcn.0040bb20
jmp 0x40bf75
cmp eax, 0x2a
je 0x40bf9c
cmp eax, 0x2b
je 0x40bf9c
cmp eax, 0x3f
je 0x40bf9c
cmp eax, 0x7b
je 0x40bf9c
cmp eax, 0x7d
jne 0x40bf4c
test dword [esi + 0x50], 0x10000000
je 0x40bf95
cmp eax, 0x5d
jne 0x40bf5a
test dword [esi + 0x50], 0x10000000
je 0x40bf8e
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0040cee0
mov ecx, esi
call fcn.0040bb20
mov ecx, esi
call fcn.0040cc90
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x40bb81
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 5
call fcn.00410661
push 4
call fcn.00410661
push 6
call fcn.00410661
push 0xa
call fcn.00410661
int3