Function at 0x100ba370
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 0x100baa02
cmp eax, 0x7c
je 0x100baa02
cmp eax, 0x29
jne 0x100ba3a8
cmp dword [esi + 0x10], 0
jne 0x100baa02
test dword [esi + 0x50], 0x10000000
je 0x100baa0f
cmp eax, 0x2e
jne 0x100ba463
push 0x14
call fcn.100be97a
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 0x100ba3fe
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 0x100ba9e6
cmp byte [eax], 0x5c
jne 0x100ba9e4
inc eax
cmp eax, ecx
je 0x100ba9dc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba43f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba9d8
cmp dl, 0x29
je 0x100ba9d8
test cl, 0x10
jne 0x100ba9dc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba9d8
cmp cl, 0x7d
jne 0x100ba9dc
mov cl, 1
jmp 0x100ba9de
cmp eax, 0x5c
jne 0x100ba659
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba4b2
cmp byte [eax], 0x5c
jne 0x100ba4b0
inc eax
cmp eax, ecx
je 0x100ba4a8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba493
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba4a4
cmp dl, 0x29
je 0x100ba4a4
test cl, 0x10
jne 0x100ba4a8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba4a4
cmp cl, 0x7d
jne 0x100ba4a8
mov cl, 1
jmp 0x100ba4aa
xor cl, cl
test cl, cl
je 0x100ba4b0
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b92e0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x100ba583
cmp byte [esi + 0x48], 0x62
jne 0x100ba583
push 0x14
call fcn.100be97a
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 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 0x100ba93f
cmp byte [eax], 0x5c
jne 0x100ba93d
inc eax
cmp eax, ecx
je 0x100ba935
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100ba55f
mov cl, byte [eax]
cmp cl, 0x28
je 0x100ba931
cmp cl, 0x29
je 0x100ba931
test dl, 0x10
jne 0x100ba935
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba931
cmp cl, 0x7d
jne 0x100ba935
mov cl, 1
jmp 0x100ba937
test eax, eax
je 0x100ba64d
cmp byte [esi + 0x48], 0x42
jne 0x100ba64d
push 0x14
call fcn.100be97a
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 0x100ba5e2
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 0x100ba93f
cmp byte [eax], 0x5c
jne 0x100ba93d
inc eax
cmp eax, ecx
je 0x100ba935
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100ba629
mov cl, byte [eax]
cmp cl, 0x28
je 0x100ba931
cmp cl, 0x29
je 0x100ba931
test dl, 0x10
jne 0x100ba935
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba931
cmp cl, 0x7d
jne 0x100ba935
mov cl, 1
jmp 0x100ba937
mov ecx, esi
call fcn.100bb710
jmp 0x100ba9ed
cmp eax, 0x5b
jne 0x100ba71f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba6a8
cmp byte [eax], 0x5c
jne 0x100ba6a6
inc eax
cmp eax, ecx
je 0x100ba69e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba689
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba69a
cmp dl, 0x29
je 0x100ba69a
test cl, 0x10
jne 0x100ba69e
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba69a
cmp cl, 0x7d
jne 0x100ba69e
mov cl, 1
jmp 0x100ba6a0
xor cl, cl
test cl, cl
je 0x100ba6a6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b92e0
mov ecx, esi
call fcn.100bb5e0
cmp dword [esi + 0x4c], 0x5d
jne 0x100baa16
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba9e6
cmp byte [eax], 0x5c
jne 0x100ba9e4
inc eax
cmp eax, ecx
je 0x100ba9dc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba6fb
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba9d8
cmp dl, 0x29
je 0x100ba9d8
test cl, 0x10
jne 0x100ba9dc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba9d8
cmp cl, 0x7d
jne 0x100ba9dc
mov cl, 1
jmp 0x100ba9de
cmp eax, 0x28
jne 0x100ba7e2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba76e
cmp byte [eax], 0x5c
jne 0x100ba76c
inc eax
cmp eax, ecx
je 0x100ba764
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba74f
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba760
cmp dl, 0x29
je 0x100ba760
test cl, 0x10
jne 0x100ba764
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba760
cmp cl, 0x7d
jne 0x100ba764
mov cl, 1
jmp 0x100ba766
xor cl, cl
test cl, cl
je 0x100ba76c
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b92e0
mov ecx, esi
call fcn.100bb850
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x100baa0f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba7ce
cmp byte [eax], 0x5c
jne 0x100ba7cc
inc eax
cmp eax, ecx
je 0x100ba7c4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba7af
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba7c0
cmp dl, 0x29
je 0x100ba7c0
test cl, 0x10
jne 0x100ba7c4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba7c0
cmp cl, 0x7d
jne 0x100ba7c4
mov cl, 1
jmp 0x100ba7c6
xor cl, cl
test cl, cl
je 0x100ba7cc
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b92e0
test bl, bl
je 0x100ba9f4
jmp 0x100ba9ed
cmp eax, 0x5e
jne 0x100ba89d
push 0x14
call fcn.100be97a
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 0x100ba838
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 0x100ba93f
cmp byte [eax], 0x5c
jne 0x100ba93d
inc eax
cmp eax, ecx
je 0x100ba935
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba879
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba931
cmp dl, 0x29
je 0x100ba931
test cl, 0x10
jne 0x100ba935
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba931
cmp cl, 0x7d
jne 0x100ba935
mov cl, 1
jmp 0x100ba937
cmp eax, 0x24
jne 0x100ba94b
push 0x14
call fcn.100be97a
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 0x100ba8f3
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 0x100ba93f
cmp byte [eax], 0x5c
jne 0x100ba93d
inc eax
cmp eax, ecx
je 0x100ba935
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba920
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba931
cmp dl, 0x29
je 0x100ba931
test cl, 0x10
jne 0x100ba935
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba931
cmp cl, 0x7d
jne 0x100ba935
mov cl, 1
jmp 0x100ba937
xor cl, cl
test cl, cl
je 0x100ba93d
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b92e0
jmp 0x100ba9f4
cmp eax, 0x2a
je 0x100baa08
cmp eax, 0x2b
je 0x100baa08
cmp eax, 0x3f
je 0x100baa08
cmp eax, 0x7b
je 0x100baa08
cmp eax, 0x7d
jne 0x100ba981
test dword [esi + 0x50], 0x10000000
je 0x100baa1d
cmp eax, 0x5d
jne 0x100ba993
test dword [esi + 0x50], 0x10000000
je 0x100baa16
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100bbc20
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100ba9e6
cmp byte [eax], 0x5c
jne 0x100ba9e4
inc eax
cmp eax, ecx
je 0x100ba9dc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100ba9c7
mov dl, byte [eax]
cmp dl, 0x28
je 0x100ba9d8
cmp dl, 0x29
je 0x100ba9d8
test cl, 0x10
jne 0x100ba9dc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100ba9d8
cmp cl, 0x7d
jne 0x100ba9dc
mov cl, 1
jmp 0x100ba9de
xor cl, cl
test cl, cl
je 0x100ba9e4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100b92e0
mov ecx, esi
call fcn.100bb9f0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100ba383
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 0xa
call fcn.100b92d0
push 5
call fcn.100b92d0
push 4
call fcn.100b92d0
push 6
call fcn.100b92d0
int3