Function at 0x100b6640
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x100b6cd2
cmp eax, 0x7c
je 0x100b6cd2
cmp eax, 0x29
jne 0x100b6678
cmp dword [esi + 0x10], 0
jne 0x100b6cd2
test dword [esi + 0x50], 0x10000000
je 0x100b6cdf
cmp eax, 0x2e
jne 0x100b6733
push 0x14
call fcn.100bac4a
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100b66ce
mov dword [ecx + 0xc], edx
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 0x100b6cb6
cmp byte [eax], 0x5c
jne 0x100b6cb4
inc eax
cmp eax, ecx
je 0x100b6cac
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b670f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b6ca8
cmp dl, 0x29
je 0x100b6ca8
test cl, 0x10
jne 0x100b6cac
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6ca8
cmp cl, 0x7d
jne 0x100b6cac
mov cl, 1
jmp 0x100b6cae
cmp eax, 0x5c
jne 0x100b6929
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100b6782
cmp byte [eax], 0x5c
jne 0x100b6780
inc eax
cmp eax, ecx
je 0x100b6778
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b6763
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b6774
cmp dl, 0x29
je 0x100b6774
test cl, 0x10
jne 0x100b6778
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6774
cmp cl, 0x7d
jne 0x100b6778
mov cl, 1
jmp 0x100b677a
xor cl, cl
test cl, cl
je 0x100b6780
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b5550
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x100b6853
cmp byte [esi + 0x48], 0x62
jne 0x100b6853
push 0x14
call fcn.100bac4a
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100b67ee
mov dword [ecx + 0xc], edx
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 0x100b6c0f
cmp byte [eax], 0x5c
jne 0x100b6c0d
inc eax
cmp eax, ecx
je 0x100b6c05
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100b682f
mov cl, byte [eax]
cmp cl, 0x28
je 0x100b6c01
cmp cl, 0x29
je 0x100b6c01
test dl, 0x10
jne 0x100b6c05
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6c01
cmp cl, 0x7d
jne 0x100b6c05
mov cl, 1
jmp 0x100b6c07
test eax, eax
je 0x100b691d
cmp byte [esi + 0x48], 0x42
jne 0x100b691d
push 0x14
call fcn.100bac4a
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100b68b2
mov dword [ecx + 0xc], edx
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 eax, ecx
mov dword [esi + 0x28], ecx
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100b6c0f
cmp byte [eax], 0x5c
jne 0x100b6c0d
inc eax
cmp eax, ecx
je 0x100b6c05
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100b68f9
mov cl, byte [eax]
cmp cl, 0x28
je 0x100b6c01
cmp cl, 0x29
je 0x100b6c01
test dl, 0x10
jne 0x100b6c05
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6c01
cmp cl, 0x7d
jne 0x100b6c05
mov cl, 1
jmp 0x100b6c07
mov ecx, esi
call fcn.100b79e0
jmp 0x100b6cbd
cmp eax, 0x5b
jne 0x100b69ef
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100b6978
cmp byte [eax], 0x5c
jne 0x100b6976
inc eax
cmp eax, ecx
je 0x100b696e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b6959
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b696a
cmp dl, 0x29
je 0x100b696a
test cl, 0x10
jne 0x100b696e
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b696a
cmp cl, 0x7d
jne 0x100b696e
mov cl, 1
jmp 0x100b6970
xor cl, cl
test cl, cl
je 0x100b6976
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b5550
mov ecx, esi
call fcn.100b78b0
cmp dword [esi + 0x4c], 0x5d
jne 0x100b6ce6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100b6cb6
cmp byte [eax], 0x5c
jne 0x100b6cb4
inc eax
cmp eax, ecx
je 0x100b6cac
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b69cb
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b6ca8
cmp dl, 0x29
je 0x100b6ca8
test cl, 0x10
jne 0x100b6cac
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6ca8
cmp cl, 0x7d
jne 0x100b6cac
mov cl, 1
jmp 0x100b6cae
cmp eax, 0x28
jne 0x100b6ab2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100b6a3e
cmp byte [eax], 0x5c
jne 0x100b6a3c
inc eax
cmp eax, ecx
je 0x100b6a34
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b6a1f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b6a30
cmp dl, 0x29
je 0x100b6a30
test cl, 0x10
jne 0x100b6a34
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6a30
cmp cl, 0x7d
jne 0x100b6a34
mov cl, 1
jmp 0x100b6a36
xor cl, cl
test cl, cl
je 0x100b6a3c
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b5550
mov ecx, esi
call fcn.100b7b20
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x100b6cdf
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100b6a9e
cmp byte [eax], 0x5c
jne 0x100b6a9c
inc eax
cmp eax, ecx
je 0x100b6a94
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b6a7f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b6a90
cmp dl, 0x29
je 0x100b6a90
test cl, 0x10
jne 0x100b6a94
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6a90
cmp cl, 0x7d
jne 0x100b6a94
mov cl, 1
jmp 0x100b6a96
xor cl, cl
test cl, cl
je 0x100b6a9c
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b5550
test bl, bl
je 0x100b6cc4
jmp 0x100b6cbd
cmp eax, 0x5e
jne 0x100b6b6d
push 0x14
call fcn.100bac4a
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 2
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100b6b08
mov dword [ecx + 0xc], edx
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 0x100b6c0f
cmp byte [eax], 0x5c
jne 0x100b6c0d
inc eax
cmp eax, ecx
je 0x100b6c05
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b6b49
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b6c01
cmp dl, 0x29
je 0x100b6c01
test cl, 0x10
jne 0x100b6c05
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6c01
cmp cl, 0x7d
jne 0x100b6c05
mov cl, 1
jmp 0x100b6c07
cmp eax, 0x24
jne 0x100b6c1b
push 0x14
call fcn.100bac4a
mov ecx, eax
add esp, 4
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 3
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100b6bc3
mov dword [ecx + 0xc], edx
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 0x100b6c0f
cmp byte [eax], 0x5c
jne 0x100b6c0d
inc eax
cmp eax, ecx
je 0x100b6c05
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b6bf0
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b6c01
cmp dl, 0x29
je 0x100b6c01
test cl, 0x10
jne 0x100b6c05
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6c01
cmp cl, 0x7d
jne 0x100b6c05
mov cl, 1
jmp 0x100b6c07
xor cl, cl
test cl, cl
je 0x100b6c0d
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b5550
jmp 0x100b6cc4
cmp eax, 0x2a
je 0x100b6cd8
cmp eax, 0x2b
je 0x100b6cd8
cmp eax, 0x3f
je 0x100b6cd8
cmp eax, 0x7b
je 0x100b6cd8
cmp eax, 0x7d
jne 0x100b6c51
test dword [esi + 0x50], 0x10000000
je 0x100b6ced
cmp eax, 0x5d
jne 0x100b6c63
test dword [esi + 0x50], 0x10000000
je 0x100b6ce6
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100b7ef0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100b6cb6
cmp byte [eax], 0x5c
jne 0x100b6cb4
inc eax
cmp eax, ecx
je 0x100b6cac
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100b6c97
mov dl, byte [eax]
cmp dl, 0x28
je 0x100b6ca8
cmp dl, 0x29
je 0x100b6ca8
test cl, 0x10
jne 0x100b6cac
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100b6ca8
cmp cl, 0x7d
jne 0x100b6cac
mov cl, 1
jmp 0x100b6cae
xor cl, cl
test cl, cl
je 0x100b6cb4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b5550
mov ecx, esi
call fcn.100b7cc0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100b6653
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 0xa
call fcn.100b5540
push 5
call fcn.100b5540
push 4
call fcn.100b5540
push 6
call fcn.100b5540
int3