Function at 0x100ba490
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 0x100bab22
cmp eax, 0x7c
je 0x100bab22
cmp eax, 0x29
jne 0x100ba4c8
cmp dword [esi + 0x10], 0
jne 0x100bab22
test dword [esi + 0x50], 0x10000000
je 0x100bab2f
cmp eax, 0x2e
jne 0x100ba583
push 0x14
call fcn.100bea9a
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 0x100ba51e
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 0x100bab06
cmp byte [eax], 0x5c
jne 0x100bab04
inc eax
cmp eax, ecx
je 0x100baafc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba55f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100baaf8
cmp dl, 0x29
je 0x100baaf8
test cl, 0x10
jne 0x100baafc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100baaf8
cmp cl, 0x7d
jne 0x100baafc
mov cl, 1
jmp 0x100baafe
cmp eax, 0x5c
jne 0x100ba779
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba5d2
cmp byte [eax], 0x5c
jne 0x100ba5d0
inc eax
cmp eax, ecx
je 0x100ba5c8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba5b3
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba5c4
cmp dl, 0x29
je 0x100ba5c4
test cl, 0x10
jne 0x100ba5c8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba5c4
cmp cl, 0x7d
jne 0x100ba5c8
mov cl, 1
jmp 0x100ba5ca
xor cl, cl
test cl, cl
je 0x100ba5d0
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b9400
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x100ba6a3
cmp byte [esi + 0x48], 0x62
jne 0x100ba6a3
push 0x14
call fcn.100bea9a
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 0x100ba63e
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 0x100baa5f
cmp byte [eax], 0x5c
jne 0x100baa5d
inc eax
cmp eax, ecx
je 0x100baa55
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100ba67f
mov cl, byte [eax]
cmp cl, 0x28
je 0x100baa51
cmp cl, 0x29
je 0x100baa51
test dl, 0x10
jne 0x100baa55
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100baa51
cmp cl, 0x7d
jne 0x100baa55
mov cl, 1
jmp 0x100baa57
test eax, eax
je 0x100ba76d
cmp byte [esi + 0x48], 0x42
jne 0x100ba76d
push 0x14
call fcn.100bea9a
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 0x100ba702
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 0x100baa5f
cmp byte [eax], 0x5c
jne 0x100baa5d
inc eax
cmp eax, ecx
je 0x100baa55
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100ba749
mov cl, byte [eax]
cmp cl, 0x28
je 0x100baa51
cmp cl, 0x29
je 0x100baa51
test dl, 0x10
jne 0x100baa55
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100baa51
cmp cl, 0x7d
jne 0x100baa55
mov cl, 1
jmp 0x100baa57
mov ecx, esi
call fcn.100bb830
jmp 0x100bab0d
cmp eax, 0x5b
jne 0x100ba83f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba7c8
cmp byte [eax], 0x5c
jne 0x100ba7c6
inc eax
cmp eax, ecx
je 0x100ba7be
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba7a9
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba7ba
cmp dl, 0x29
je 0x100ba7ba
test cl, 0x10
jne 0x100ba7be
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba7ba
cmp cl, 0x7d
jne 0x100ba7be
mov cl, 1
jmp 0x100ba7c0
xor cl, cl
test cl, cl
je 0x100ba7c6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b9400
mov ecx, esi
call fcn.100bb700
cmp dword [esi + 0x4c], 0x5d
jne 0x100bab36
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100bab06
cmp byte [eax], 0x5c
jne 0x100bab04
inc eax
cmp eax, ecx
je 0x100baafc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba81b
mov dl, byte [eax]
cmp dl, 0x28
je 0x100baaf8
cmp dl, 0x29
je 0x100baaf8
test cl, 0x10
jne 0x100baafc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100baaf8
cmp cl, 0x7d
jne 0x100baafc
mov cl, 1
jmp 0x100baafe
cmp eax, 0x28
jne 0x100ba902
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba88e
cmp byte [eax], 0x5c
jne 0x100ba88c
inc eax
cmp eax, ecx
je 0x100ba884
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba86f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba880
cmp dl, 0x29
je 0x100ba880
test cl, 0x10
jne 0x100ba884
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba880
cmp cl, 0x7d
jne 0x100ba884
mov cl, 1
jmp 0x100ba886
xor cl, cl
test cl, cl
je 0x100ba88c
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b9400
mov ecx, esi
call fcn.100bb970
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x100bab2f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba8ee
cmp byte [eax], 0x5c
jne 0x100ba8ec
inc eax
cmp eax, ecx
je 0x100ba8e4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba8cf
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba8e0
cmp dl, 0x29
je 0x100ba8e0
test cl, 0x10
jne 0x100ba8e4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba8e0
cmp cl, 0x7d
jne 0x100ba8e4
mov cl, 1
jmp 0x100ba8e6
xor cl, cl
test cl, cl
je 0x100ba8ec
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b9400
test bl, bl
je 0x100bab14
jmp 0x100bab0d
cmp eax, 0x5e
jne 0x100ba9bd
push 0x14
call fcn.100bea9a
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 0x100ba958
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 0x100baa5f
cmp byte [eax], 0x5c
jne 0x100baa5d
inc eax
cmp eax, ecx
je 0x100baa55
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba999
mov dl, byte [eax]
cmp dl, 0x28
je 0x100baa51
cmp dl, 0x29
je 0x100baa51
test cl, 0x10
jne 0x100baa55
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100baa51
cmp cl, 0x7d
jne 0x100baa55
mov cl, 1
jmp 0x100baa57
cmp eax, 0x24
jne 0x100baa6b
push 0x14
call fcn.100bea9a
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 0x100baa13
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 0x100baa5f
cmp byte [eax], 0x5c
jne 0x100baa5d
inc eax
cmp eax, ecx
je 0x100baa55
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100baa40
mov dl, byte [eax]
cmp dl, 0x28
je 0x100baa51
cmp dl, 0x29
je 0x100baa51
test cl, 0x10
jne 0x100baa55
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100baa51
cmp cl, 0x7d
jne 0x100baa55
mov cl, 1
jmp 0x100baa57
xor cl, cl
test cl, cl
je 0x100baa5d
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b9400
jmp 0x100bab14
cmp eax, 0x2a
je 0x100bab28
cmp eax, 0x2b
je 0x100bab28
cmp eax, 0x3f
je 0x100bab28
cmp eax, 0x7b
je 0x100bab28
cmp eax, 0x7d
jne 0x100baaa1
test dword [esi + 0x50], 0x10000000
je 0x100bab3d
cmp eax, 0x5d
jne 0x100baab3
test dword [esi + 0x50], 0x10000000
je 0x100bab36
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100bbd40
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100bab06
cmp byte [eax], 0x5c
jne 0x100bab04
inc eax
cmp eax, ecx
je 0x100baafc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100baae7
mov dl, byte [eax]
cmp dl, 0x28
je 0x100baaf8
cmp dl, 0x29
je 0x100baaf8
test cl, 0x10
jne 0x100baafc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100baaf8
cmp cl, 0x7d
jne 0x100baafc
mov cl, 1
jmp 0x100baafe
xor cl, cl
test cl, cl
je 0x100bab04
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b9400
mov ecx, esi
call fcn.100bbb10
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100ba4a3
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 0xa
call fcn.100b93f0
push 5
call fcn.100b93f0
push 4
call fcn.100b93f0
push 6
call fcn.100b93f0
int3